第十二周作业-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)