#Demo 1#求 1+2!+3!+...+20! 的和。
j= 1sum_all=0while j <= 20:
i= 1sum= 1
while i <=j:
sum*=i
i+= 1
#print(sum)
sum_all +=sum
j+= 1
print("1+2!+3!+...+20!的和是{}".format(sum_all))
sum= 1ret_sum=0for i in range(1, 21):
sum*=i
ret_sum+=sumprint(ret_sum)"""# Demo 2
本金10000元存入银行,年利率是千分之三。
每过1年,将本金和利息相加作为新的本金。
计算5年后,获得的本金是多少?"""i=0
money= 10000
while i < 5:
money*= (1 + 0.003)
i+= 1
print("五年以后的本金是{:.2f}".format(money))
money= 10000
for i in range(1, 6):
money*= (1 + 0.003)"""# Demo 3
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,
其各个位上数字的立方和等于该数本身。例如:153是一个”水仙花数",
因为153=1的三次方+5的三次方+3的三次方。"""num= 100
while num <= 999:if ((num // 100) ** 3 + (num % 100 // 10) ** 3 + (num % 10) ** 3) ==num:print(num)
num+= 1
for i in range(100, 1000):if ((num // 100) ** 3 + (num % 100 // 10) ** 3 + (num % 10) ** 3) ==i:print(num)#Demo 4#设计“过7游戏”的程序, 打印出1-100之间除了含7和7的倍数之外的所有数字
#i = 0#while i <= 99:#i += 1#if i % 7 == 0 or i % 10 == 7 or i // 10 == 7:#continue#else:#print(i)
for i in range(1, 101):if i % 7 == 0 or i % 10 == 7 or i // 10 == 7:continue
print(i)"""# Demo 5
使用while,完成以下图形的输出。(每一行的星星不能用*乘以星星的数量来完成,须使用while嵌套)(较难)
*
*** 行 列 变量保存应该有多少个*
*****
*******
*********
*******
*****
***
*"""row= 1count= 1 #表示当前行数应该有多少个*
while row <= 9:
col= 1
if row != 1:if row < 6:
count+= 2
else:
count-= 2
while col <=count:if col == 1: #处理*前面的空格
print(" " * ((9 - count) // 2), end="")print("*", end="")
col+= 1
print("")
row+= 1
"""# Demo 6
使用while、if来完成剪刀石头布程序,要求,
当玩家第3次获胜时才退出游戏,否则继续玩。"""
importrandom#获胜次数
win_times =0whileTrue:
player= int(input("请输入:剪刀(0) 石头(1) 布(2)"))
computer= random.randint(0, 2)if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1):
win_times+= 1
if win_times == 3:print("你赢了三次了")break
else:print("你赢了这局游戏")elif player ==computer:print("平局,再来一次")else:print("你输了,不要走,决战到天亮")"""# Demo 7
幸运猜猜猜:游戏随机给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案。在游戏过程中,记录你最终猜对时所需要的次数,
游戏结束后公布结果。
说明:
1~2次猜中,打印你太TM有才了!
3~6次猜中,打印这么快就猜出来了,很聪明嘛!
大于7次猜中,打印猜了半天才猜出来,小同志,尚需努力啊!
猜测次数最多20次。"""
importrandom
num= random.randint(0, 99)print(num)
times=0while times <= 20:
ges= int(input("请输入你猜的数字:"))if ges >num:print("你猜的数太大了")
times+= 1
if times == 20:print("你都猜了20次了,还没猜中")break
continue
elif ges
times+= 1
if times == 20:print("你都猜了20次了,还没猜中")break
continue
else:if 1 <= times <= 2:print("有才")elif 3 <= times <= 6:print("还可以")else:print("需要努力")print(num)