Python第六周作业
Python第六周作业
- 1. 正则表达式的点星匹配
- 2. 计算函数曲线与x轴包围的面积
- 3. 哥德巴赫猜想
- 4. 鸡兔同笼B
- 5. 与7无关的数
- 6. 完美立方数
- 7. 高次方程求根
- 8. 在终端输出如下信息,(两种以上方法)
1. 正则表达式的点星匹配
【描述】
正则表达式中符号.表示匹配任意一个单字符,*表示匹配0个或者多个前面的单字符。
对于给定字符串和带有.和*的正则表达式,输出匹配结果。
例如:(字符串, 正则表达式 -> 匹配结果)
‘aa’, ‘a’ -> False
‘aa’, ‘aa’ -> True
‘aa’, ‘a*’ -> True
‘aa’, ‘a’ -> False
‘aa’, ‘.*’ -> True
‘aab’, ‘cab’ -> True
‘aa’, ‘baac*’ -> True
【输入】
输入包含两行:
待匹配字符串
正则表达式
示例 1 :
aa
.*
【输出】
若正则表达式能够匹配第一行字符串则输出True,否则,输出False
示例 1 :True
【代码】
import re
str1=input()
str2=input()
if re.match(str2,str1):print("True")
else:print("False")
2. 计算函数曲线与x轴包围的面积
【描述】
计算函数曲线在区间(a,b)与x轴包围的面积,可将这个区域平行于y轴切分成相等宽度的小梯形,每个梯形的面积可近似求出,所有梯形面积的和就是函数曲线与x轴包围的面积,也就是函数在给定区间的积分值,dx越小,梯形近似度越高,计算结果越精确,也就是说区间切分段的越多,结果越精确。
参考下图,计算函数sin(x)在区间(a,b)与x轴包围的面积,a,b由用户输入,区间切分多少段也由用户输入。
【输入】
输入包括两行
第一行是由空格分隔的两个实数,代表积分区间
第二行是一个正整数,代表切分数量
示例 1 :-3.14 3.14
【输出】
积分值,结果保留2位小数
示例 1 :4.00
【代码】
import math
a,b = map(eval,input().split(' '))
quantity= int(input())
dx=abs(b-a)/quantity
sum = 0
for i in range(quantity):s = abs(math.sin(a)*dx)a = a + dxsum = sum + s
print('{:.2f}'.format(sum))
3. 哥德巴赫猜想
【描述】
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。
【输入】
输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。
示例 1 :36
【输出】
在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。
示例 1 :N = 5 + 31
【代码】
N = int(input())
if N % 2 == 0 and 2 < N < 2000000000:for p in range (2,N+1):q = N - pP = 0Q = 0for i in range(2,p):if p % i == 0:P = 1for j in range(2,q):if q % j == 0:Q = 1if P == 0 and Q == 0:print('N = {} + {}'.format(p,q))break
4. 鸡兔同笼B
【描述】
一个笼子里面关了若干只鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外),已经知道了笼子里面脚的总数feets,则笼子里至少有多少只动物,至多有多少只动物?
【输入】
第一行输入一个正整数,表示测试数据的组数n
接下来的n行,每行一个整数,代表脚的数量
示例 1 :
2
3
20
【输出】
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数间用一个空格分开
如果没有满足要求的答案,则输出用空格分隔的两个0
示例 1 :
0 0
5.0 10.0
【代码】
n = int(input())
minans = 0
maxans = 0
for i in range(n):feets = int(input())if feets ==2:print('1 1')else:if feets % 2 == 0 and feets % 4 != 0 :minans = int((feets-2)/4+1)maxans = int(feets/2)elif feets % 4 == 0:minans = int(feets/4)maxans = int(feets/2)print(minans,maxans)
5. 与7无关的数
【描述】
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位的数字为7,则称其为与7相关的数、
求所有小于n(n < 100)的与7无关的正整数以及他们的平方和。
【输入】
输入为一个正整数
示例 1 :30
【输出】
输出两行
第一行为所有与7无关的数,以列表形式输出,逗号分开
第二行为他们的平方和
示例 1 :
[1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 29]
6067
【代码】
n = int(input())
num = []
sum = 0
for i in range(n):I = list(str(i))if i % 7 != 0 and I[-1] != '7' :num.append(i)sum += i*i
print(num)
print(sum)
6. 完美立方数
【描述】
费马大定理断言,当整数n > 2时,关于a,b,c的方程a^n = b^n + c^n没有正整数解。
该定理被提出来后,历经三百多年,经历多人猜想辩证,最终在1995年被英国数学家安德鲁.怀尔斯证明。
当然,可以找到大于1的4个整数满足完美立方等式:a³ = b³ + c³ + d³ (例如12³ = 6³ + 8³ + 10³)
编写一个程序,对于任意给定的正整数N(N<=100),寻找所有的四元组(a,b,c,d),满足a³ = b³ + c³ + d³,其中 1 < a,b,c,d <=N
【输入】
正整数N(N <= 100)
示例 1 :24
【输出】
按照a的值从小到大,每行输出一个完美立方等式,其中b,c,d按照非降序排列输出。若两个完美立方式中a值相同,则b值小的先输出;在b值相等的情况下,c值小的先输出,在b,c都相等的情况下,d值小的先输出。
示例 1 :
Cube = 6,Triple = (3,4,5)
Cube = 12,Triple = (6,8,10)
Cube = 18,Triple = (2,12,16)
Cube = 18,Triple = (9,12,15)
Cube = 19,Triple = (3,10,18)
Cube = 20,Triple = (7,14,17)
Cube = 24,Triple = (12,16,20)
【代码】
N = int(input())
if 1 < N <= 100:for a in range(2,N+1):for b in range(2,N):for c in range(b+1,N):for d in range(c+1,N):if pow(a,3) == pow(b,3) + pow(c,3) + pow(d,3):print('Cube = {},Triple = ({},{},{})'.format(a,b,c,d))
7. 高次方程求根
【描述】
有函数
已知f(1.5)>0,f(2.4)<0,且在[1.5,2.4]区间只且只有一个根,求该根。要求四舍五入到小数点后6位
【输入】
示例 1 :无
【输出】
示例 1 :该方程在[1.5,2.4]区间的根
【代码】
def f(x):r = x**5 - 15*x**4 + 85*x**3 -225*x**2 + 274*x - 121return rx1 = 1.5
x2 = 2.4
ans = (x1+x2)/2
while abs(f(ans)) > 1e-6:if f(x1) * f(ans) < 0:x2 = anselse:x1 = ansans = (x1 + x2)/2
print('{:.6f}'.format(ans))
8. 在终端输出如下信息,(两种以上方法)
【描述】
练习一:在终端输出如下信息
小明,10岁,男,上山去砍柴
小明,10岁,男,开车去东北
小明,10岁,男,最爱打游戏
老李,90岁,男,上山去砍柴
老李,90岁,男,开车去东北
老李,90岁,男,最爱打游戏
【输入】
示例 1 :无
【输出】
示例 1 :
小明,10岁,男,上山去砍柴
小明,10岁,男,开车去东北
小明,10岁,男,最爱打游戏
老李,90岁,男,上山去砍柴
老李,90岁,男,开车去东北
老李,90岁,男,最爱打游戏
【代码】
#1
activity = ["上山去砍柴","开车去东北","最爱打游戏"]
for i in range(3):print("小明,10岁,男,"+activity[i])
print("")
for i in range(3):print("老李,90岁,男,"+activity[i])
#2
name = ['小明', '老李']
age = ['10岁', '90岁']
sex = ['男']
activity = ["上山去砍柴", "开车去东北", "最爱打游戏"]def func(a,b,c):print("{},{},{},{}".format(name[a],age[b],sex[0],activity[c]))for i in range(3):func(0,0,i)
print("")
for i in range(3):func(1,1,i)
Python第六周作业相关推荐
- 20189221 2018-2019-2 《密码与安全新技术专题》第六周作业
20189221 2018-2019-2 <密码与安全新技术专题>第六周作业 课程:<密码与安全新技术专题> 班级: 201892 姓名: 郭开世 学号:20189221 上课 ...
- 2018-2019-2 20189221 《网络攻防技术》第六周作业
2018-2019-2 20189221 <网络攻防技术>第六周作业 视频学习(21-25) KaliSecurity-密码攻击之在线攻击工具 1.Cewl 可以通过爬行网站获取关键信息创 ...
- 2018-2019-2 20189206 《网络攻防实践》 第六周作业
2018-2019-2 20189206 <网络攻防实践> 第六周作业 课本学习 TCP/IP网络协议栈攻击 网络安全属性与攻击模式 机密性 保护网络中的信息安全,通常使用加密算法 完整性 ...
- 2017-2018-2 20179205 《网络攻防技术与实践》第六周作业
<网络攻防技术与实践>第六周作业 视频学习总结 一.kali密码攻击之在线工具攻击 密码攻击是安全测试中必不可少的一环,而在线攻击多为对一个服务远程连接并使用用户名与密码破解. 1.cew ...
- 《密码与安全新技术专题》第六周作业
学号 2018-2019-2 <密码与安全新技术专题>第六周作业 课程:<密码与安全新技术专题> 班级: 92班 姓名:张宇翔 学号:20189211 上课教师:谢四江 上课日 ...
- 2019春第六周作业
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 2019春第六周作业 我在这个课程的目标是 掌握指针变量的基本运算:理解指针作为函数参数的作用:掌握如何使用指针实现函数调用返回多个值. ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第六周作业
20189200余超 2018-2019-2 移动平台应用开发实践第六周作业 Android简介.活动.UI组件 1.Android系统架构 这是Android系统架构图,够一目了然了吧,Androi ...
- Python第五周作业
Python第五周作业 1. 一元二次方程求根 2. 百钱买百鸡 3. 鸡兔同笼 4. 最大公约数和最小公倍数 5. 判断三角形并计算面积 6. 判断IP地址合法性 7. 回文素数 8. 反素数 9. ...
- Python123平台第六周作业
Python123平台第六周作业 #1.数字不同数之和 题目描述:获得用户输入的一个整数N,输出N中所出现不同数字的和. ...
最新文章
- 如何用知识图谱挖掘商业数据背后的宝藏?
- React history.push 传递参数
- sdut 2139BFS
- nginx A/B 灰色发布
- 删掉一个文件夹相对于另一个文件夹多出的文件
- Java EE重新审视设计模式:观察者
- 万兆网卡实际吞吐量_案例探索 | 千兆/万兆网卡每秒转发包数处理能力上限到底有多大?...
- Qt线程间通信-信号与槽通信
- kl变换与小波变换区别与联系_小波变换比傅里叶变换好在哪里_小波变换与傅里叶变换详解...
- 电脑tf卡检测不到_电脑不认TF卡,有什么方法
- jQuery表单验证插件
- python学习(总)
- 0302、DNS服务器、多区域的DNS服务器、DNS主从架构、DNS主从数据同步、特殊解析、缓存DNS
- PCL Visualizer可视化类
- 神马!看电子书,会让记忆力衰退!
- 1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试。要求有构造函数、析造函数和复制构造函数。
- 金融数据类——全球股市
- elon函数_Elon Mussk的Neuroink真是令人难以置信
- 四元素基础理论及其应用
- 如何获取文件的绝对路径