第十二周作业-python123
1.正则表达式的点星分配
import re
str1=input()
str2=input()
if re.match(str2,str1):
print("True")
else:
print("False")
2.梯形法计算积分值
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 + dx
sum = sum + s
print('{:.2f}'.format(sum))
3.哥德巴赫猜想
N = int(input())
if N % 2 == 0 and 2 < N < 2000000000:
for p in range (2,N+1):
q = N - p
P = 0
Q = 0
for i in range(2,p):
if p % i == 0:
P = 1
for j in range(2,q):
if q % j == 0:
Q = 1
if P == 0 and Q == 0:
print('N = {} + {}'.format(p,q))
break
4.鸡兔同笼B
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无关的数
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 = 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.高次方程求根
def f(x):
r = x**5 - 15*x**4 + 85*x**3 -225*x**2 + 274*x - 121
return r
x1 = 1.5
x2 = 2.4
ans = (x1+x2)/2
while abs(f(ans)) > 1e-6:
if f(x1) * f(ans) < 0:
x2 = ans
else:
x1 = ans
ans = (x1 + x2)/2
print('{:.6f}'.format(ans))
8.程序设计题
#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)

浙公网安备 33010602011771号