python例题11--20

例十一古典问题,有一只兔子,从出生后第三个月,每个月都能生一只兔子,小兔子三个月后也可以一只小兔子,
假设兔子不死,问每个月的兔子数量是多少?
由分析可知成为1,1,2,3,5,8,13,21,34,,,,
f1=1
f2=1
for i in range (1,21):
print("%12d %12d"%(f1,f2))
if (i % 2) == 0:
print('')
f1=f1=f2
f2=f1+f2
例十二,判断101-200之间的素数,并输出所有的素数
h=0
leap=1
from math import sqrt
for m in range(101,201):
k=int(sqrt(m+1))
for i in range (2,k+1):
if m%i==0:
leap=0
break
if leap==1:
print("%-4d"%m)
h+=1
if h%10==0:
print("")
leap=1
print("the total is %d"%h )
例十三,打印出水仙花数,所谓的水仙花数就是指三个数中各位数的立方之和等于其本身,
例如,153,1^3+5^3+3^3=153
for n in range (100,999):
i=n//100
j=n//10%10
k=n%10
if n==i**3+j**3+k**3:
print(n)
例十四 分解质因数。例90=2*3*3*5
分析要找到最小质数然后按照下面进行
1.如果这个质因数恰巧等于n 直接打印即可。
2.如果nk但n能被k整除则打印出k值并用除以k的商值。作为从新的整数n,在执行第一步
3.如果n不能被k整除,则用k+1作为k的值,从新执行第一步
from sys import stdout
n=int(input("请输入数字:\n"))
print("n=%d"%n)
for i in range (2,n+1):
while n!=i:
if n%i==0:
stdout.write(str(i))
stdout.write("*")
n=n/i
else:
break
# print("%d"%n)
例十五,利用条件运算符的嵌套来完成此题学习成绩>=90的为A类标记,60-89为B类。60以下的用C类标记。
while True:
score=input("请输入您的成绩:\n")
l=int(score)
if l >=90:
print("恭喜你,您的孩子的成绩很优秀。他的成绩是%d"%l)
elif l>=60:
print("恭喜你,您的孩子的成绩很理想。他的成绩是%d" % l)
else:
print("不好意思,您的孩子的成绩不是特别理想。他的成绩是%d" % l)
例十六输出指定的格式时间
使用datetime模块
import datetime

if __name__ == '__main__':
print(datetime.date.today().strftime(" %d %m %y "))
# 创建日期对象
myzkbdate = datetime.date(1941, 1,5)
print(myzkbdate.strftime(" %d %m %y "))
# 计算日期
myzkbdnextbirthday = myzkbdate + datetime.timedelta(days=1)
print(myzkbdnextbirthday.strftime(" %d %m %y "))
# 日期替换
myzkfristbirthday = myzkbdate.replace(year=myzkbdate.year + 1)
print(myzkfristbirthday.strftime(" %d %m %y "))
例十七,输入一行字符串分别统计其中的字母 数字 空格和其他字符的个数。
import string
s=input("input string:\n")
letter=0
space=0
digit=0
other=0
for c in s :
if c.isalpha() :
letter+=1
elif c.isdigit():
digit+=1
elif c.isspace():
space+=1
else :
other+=1
print("char=%d,space=%d,digit=%d,other=%d"%(letter,space,digit,other))
例十八,求s=a+aa+aaa+aaaa......+a...a的值,其中a是一个数字,
n=int(input("n=\n"))
a=int(input("a=\n"))
tn=0
sn=[]
for count in range (n):
tn=tn+a
a=a*10 #增加位次
sn.append(tn)
print(tn)
d=sum(sn)
print(d)
例十九,一个数如果恰好等于他的因数之和这个数称为完数,例6=1+2+3
from sys import stdout

for j in range(2, 1001):
k = []
n = -1
s = j
for i in range(1, j):
if j % i == 0:
n += 1
s -= i
k.append(i)
if s == 0:
print(j)
for i in range(n):
stdout.write(str(k[i]))
stdout.write(' ')
print(k[n])
例二十,一球从100米的高度自由落体,每次落地后反跳回原来高度的一半;再落下,
求它在第10次落地时,总共经过多少米,第十次反弹多高。
sn = 100.0
tn = sn / 2
for i in range(2, 11):
sn += 2 * tn
tn /= 2
print('总共经过的路程:', sn)
print('反弹的高度:', tn)

猜你喜欢

转载自www.cnblogs.com/kwkk978113/p/10307020.html
今日推荐