python 2019.1.20打卡,001-005

001有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少?

month=int(raw_input(‘Please input the month:’))
a,b=0,1
for i in range(1,month+1):
    print ‘第’,i,‘个月,一共有:’,b,‘对兔子’
    a,b=b,a+b

002判断101-200之间有多少个素数?并输出所有素数

res=[]
for i in range(101,201):
    for j in range(2,i):
        if i%j==0:
            break
    if j==i-1:
        res.append(i)
print '[101,200]所有素数:',res
print '一共有',len(res),'个'

003打印出所有的“水仙花数”,所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

参考1:

res=[]
for i in range(1,10):
    for j in range(10):
        for k in range(10):
            num=100*i+10*j+k
            if i**3+j**3+k**3==num:
                res.append(num)
print res

参考2:

res=[]
for i in range(100,1000):
    if (i/100)**3+((i/10)%10)**3+(i%10)**3==i:
        res.append(i)
print res

004将一个正整数分解质因数。例如:输入90,打印出90=233*5

num=int(raw_input('Please input a number:'))
res=str(num)+'='
while num!=1:
    for i in range(2,num+1):
        if num%i==0:
            num/=i
            if num==1:
                res+=str(i)
            else:
                res+=str(i)+'*'
            break
print res

005用条件运算符的嵌套完成此题,学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示。

grade=int(raw_input('Please input a grade:'))
if grade>=90:
    print 'A'
elif 60<=grade<90:
    print 'B'
else:
    print 'C'

猜你喜欢

转载自blog.csdn.net/weixin_44585889/article/details/86562866