第七周练习

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(False)

2、最大素数

n = int(input())
s=0
for i in range(2,n):
    for j in range(2,i):
        if i%j==0:
            break
    else:
        k=i
print(k)
       

3、分解质因数

import math
number = int(input())
ls = []
def getChildren(num):
    isZhishu = True
    for i in range(2, int(math.sqrt(1 + num)) + 1):  # 多加个1
        if num % i == 0 and i != num:
            ls.append(i)
            isZhishu = False
            getChildren(num // i)
            break
    if isZhishu:
        ls.append(num)

getChildren(number)
print(ls)

4、N位水仙花数

n = int(input())
def Narcissistic(n):
    sum = 0
    for i in map(int, str(n)):
        sum = sum + i ** len((str(n)))
    if sum == int(n):
        return True
    else:
        return False
for i in range(10**(n-1),10**n):
    if Narcissistic(i):
        print(i)

5、判断闰年

a=int(input())
if(a%4==0 and a%100!=0)or a%400==0:
    print("True")
else:
    print("False")

6、完数

def factorsum(n):
    ls = []
    for i in range(1, n):
        if n % i == 0:
            ls.append(i)
    if sum(ls) == n:
        ls2 = [str(i) for i in ls]
        return ls2
    else:
        return False
n = int(input())
i,count = 1,1
while count <= n:
    if factorsum(i):
        print('{}={}'.format(i,'+'.join(factorsum(i))))
        count = count + 1
    i = i+ 1

7、自定义幂函数

x,n = map(int,input().split())
s=pow(x,n)
print(s)

8、累加函数

a=int(input())
sum=0
for i in range(1,a+1):
    sum=sum+i
print(sum)

9、计算阶乘的累加和

import math
n=int(input())
s=0
for i in range(1,n+1):
    s=s+int(math.factorial(i))
print(s)

 

posted @ 2020-04-21 09:20  树懒君  阅读(250)  评论(0)    收藏  举报