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. 待匹配字符串‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

  2. 正则表达式

示例 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第六周作业相关推荐

  1. 20189221 2018-2019-2 《密码与安全新技术专题》第六周作业

    20189221 2018-2019-2 <密码与安全新技术专题>第六周作业 课程:<密码与安全新技术专题> 班级: 201892 姓名: 郭开世 学号:20189221 上课 ...

  2. 2018-2019-2 20189221 《网络攻防技术》第六周作业

    2018-2019-2 20189221 <网络攻防技术>第六周作业 视频学习(21-25) KaliSecurity-密码攻击之在线攻击工具 1.Cewl 可以通过爬行网站获取关键信息创 ...

  3. 2018-2019-2 20189206 《网络攻防实践》 第六周作业

    2018-2019-2 20189206 <网络攻防实践> 第六周作业 课本学习 TCP/IP网络协议栈攻击 网络安全属性与攻击模式 机密性 保护网络中的信息安全,通常使用加密算法 完整性 ...

  4. 2017-2018-2 20179205 《网络攻防技术与实践》第六周作业

    <网络攻防技术与实践>第六周作业 视频学习总结 一.kali密码攻击之在线工具攻击 密码攻击是安全测试中必不可少的一环,而在线攻击多为对一个服务远程连接并使用用户名与密码破解. 1.cew ...

  5. 《密码与安全新技术专题》第六周作业

    学号 2018-2019-2 <密码与安全新技术专题>第六周作业 课程:<密码与安全新技术专题> 班级: 92班 姓名:张宇翔 学号:20189211 上课教师:谢四江 上课日 ...

  6. 2019春第六周作业

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 2019春第六周作业 我在这个课程的目标是 掌握指针变量的基本运算:理解指针作为函数参数的作用:掌握如何使用指针实现函数调用返回多个值. ...

  7. 20189200余超 2018-2019-2 移动平台应用开发实践第六周作业

    20189200余超 2018-2019-2 移动平台应用开发实践第六周作业 Android简介.活动.UI组件 1.Android系统架构 这是Android系统架构图,够一目了然了吧,Androi ...

  8. Python第五周作业

    Python第五周作业 1. 一元二次方程求根 2. 百钱买百鸡 3. 鸡兔同笼 4. 最大公约数和最小公倍数 5. 判断三角形并计算面积 6. 判断IP地址合法性 7. 回文素数 8. 反素数 9. ...

  9. Python123平台第六周作业

    Python123平台第六周作业 #1.数字不同数之和 题目描述:获得用户输入的一个整数N,输出N中所出现不同数字的和.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬ ...

最新文章

  1. 如何用知识图谱挖掘商业数据背后的宝藏?
  2. React history.push 传递参数
  3. sdut 2139BFS
  4. nginx A/B 灰色发布
  5. 删掉一个文件夹相对于另一个文件夹多出的文件
  6. Java EE重新审视设计模式:观察者
  7. 万兆网卡实际吞吐量_案例探索 | 千兆/万兆网卡每秒转发包数处理能力上限到底有多大?...
  8. Qt线程间通信-信号与槽通信
  9. kl变换与小波变换区别与联系_小波变换比傅里叶变换好在哪里_小波变换与傅里叶变换详解...
  10. 电脑tf卡检测不到_电脑不认TF卡,有什么方法
  11. jQuery表单验证插件
  12. python学习(总)
  13. 0302、DNS服务器、多区域的DNS服务器、DNS主从架构、DNS主从数据同步、特殊解析、缓存DNS
  14. PCL Visualizer可视化类
  15. 神马!看电子书,会让记忆力衰退!
  16. 1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试。要求有构造函数、析造函数和复制构造函数。
  17. 金融数据类——全球股市
  18. elon函数_Elon Mussk的Neuroink真是令人难以置信
  19. 四元素基础理论及其应用
  20. 如何获取文件的绝对路径

热门文章

  1. 分辨率,像素,dp之间的联系
  2. C语言函数递归调用实验报告,C语言函数的递归和调用实例分析
  3. 简单入门CDQ分治(很有意思的算法)
  4. python数据提取和合并_用Python提取和合并Excel数据
  5. 如何搭建一个docker容器
  6. docker 创建容器时指定容器ip
  7. html form表单提交
  8. java中的抽象到底是个啥?
  9. JSPX使用的几点注意
  10. VS中使用Qt方法详解