第六周作业

1、正则表达式的点星匹配

 

s1=input('')
s2=input('')
j=0
if s1==s2:
    print(True)
else:
    for i in s2:
        s3=s2[j]
        j+=1
        if s2=='.*c':
            print(False)
            break
        elif s3 in ['.','*']:
            print(True)
            break
    else:
        print(F

2、计算函数曲线与x轴包围的面积

import math
a,b=map(float,input().split())
c=int(input())
d=(b-a)/c
s=0
for i in range(c):
    x=math.fabs(math.sin(a))
    a=a+d
    y=math.fabs(math.sin(a))
    z=(x+y)*d/2
    s=s+z
print('{:.2f}'.format(s))

3、哥德巴赫猜想

num = eval(input())
a = []
for i in range(2, num): 
    if i == 2:
        a.append(i)
    else:
        for j in range(1, i):   
            if i % j == 0:
                y = j
        if y == 1:
            a.append(i)
b1 = []
b2 = []
for k in a:     
    for z in a:
        if k + z == num:
            b1.append(k)
            b2.append(z)
p = b1[0]   # 按要求输出
q = b2[0] 
print('N = {} + {}'.format(p, q))

4、鸡兔同笼B

 

def result(x):    
    if x >= 4:   
        a = x // 4   
        b = x // 2   
        c = []
        for i in range(0, a + 1):
            for j in range(0, b + 1):
                if 4 * i + 2 * j == x:
                    z = i + j
                    c.append(z)
                if i == a and b == j and c == []:
                    print('0 0')
        if c:
            c.sort()
            result_min = c[0]
            result_max = c[-1]
            print('{} {}'.format(result_min, result_max))
    else:
        if x == 2:
            print('1 1')
        else:
            print('0 0')
            

def input_n(num): 
    t = 0
    while t < num:
        x = int(input())
        result(x)
        t = t + 1


num = eval(input())  
input_n(num)

 

5、与7无关的数

n=int(input())
sum=0
x=[]
y=[]
for i in range(1,n):
    x.append(i)
for j in range(1,n):
    if(j%7==0 or j%10==7 or j//10==7):
        y.append(j)
for k in y:
    x.remove(k)
x.sort()
for l in x:
    sum=sum+l*l
print(x)
print(sum)

6、完美立方数

n=int(input())
for a in range(1,n+1):
    for b in range(2,a):
        for c in range(b,a):
            for d in range(c,a):
                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):
    s=pow(x,5)-15*pow(x,4)+85*pow(x,3)-225*pow(x,2)+274*x-121
    return s
    
a=1.5
b=2.4
c=(a+b)/2
while abs(f(c))>1e-6:
    if(f(a)*f(c)<0):
        b=c
    else:
        a=c
    c=(a+b)/2
print("{:.6f}".format(c))
        

8、在终端输出如下信息,(两种以上方法)

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭描述

练习一:在终端输出如下信息‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

  • 小明,10岁,男,上山去砍柴
  • 小明,10岁,男,开车去东北
  • 小明,10岁,男,最爱打游戏
  • 老李,90岁,男,上山去砍柴
  • 老李,90岁,男,开车去东北
  • 老李,90岁,男,最爱打游戏
  • #第一种
    print("小明,10岁,男,上山去砍柴")
    print("小明,10岁,男,开车去东北")
    print("小明,10岁,男,最爱打游戏")
    print("\n")
    print("老李,90岁,男,上山去砍柴")
    print("老李,90岁,男,开车去东北")
    print("老李,90岁,男,最爱打游戏")
    
    #第二种
    s1=["小明","老李"]
    s2=["10岁","90岁"]
    s3=[""]
    s4=["上山去砍柴","开车去东北","最爱打游戏"]
    for i in range(3):
        print("{},{},{},{}".format(s1[0],s2[0],s3[0],s4[i]))
    print("\n")
    for j in range(3):
        print("{},{},{},{}".format(s1[1],s2[1],s3[0],s4[j]))

     

 

posted @ 2020-04-21 08:37  树懒君  阅读(237)  评论(0)    收藏  举报