Python 编程题 第三节:完数、质数分解、判断某年某天

完数

完数:一个数等于除他以外的的所有因子之和被称为完数

l2=[]
for a in range(1,1001):
    sum = 0
    for i in range(1,a):
        if a%i==0:
         sum+=i
    if sum==a:
        l2.append(a)
print(l2)

质数分解

很巧妙

a=int(input())
lst=[]
y=2
while a>=y:#最小的质数为2,所以从2开始
    if a%y==0:
        lst.append(y)
        a=a/y
    else:
        y+=1
print(lst)

判断某年某天

方法一(自己手搓)

y=int(input("年"))
m=int(input("月"))
d=int(input("日"))
mouth=[0,31,28,31,30,31,30,31,31,30,31,30,31]
flag=True
if y%4==0:
    mouth[2]=29
sum=0
for i in range(1,m):
    sum+=mouth[i]
sum+=d
print(sum)

方法二(datetime库)

import datetime
year,month,day=map(int,input().split(" "))
yuandan=datetime.datetime(year,1,1)
now=datetime.datetime(year,month,day)
#相减是为了转换数据格式
print((now-yuandan).days+1)

你可能感兴趣的:(python,开发语言)