coach的学习日记 7.13
小练习1
寻找所有的水仙花数
注:水仙花数即三位数中,每一位上数字的三次幂之和与这个数相同
for i in range(100,1000):
a=int(i/100)
b=int(i%100/10)
c=int(i%10)
if pow(a,3)+pow(b,3)+pow(c,3) == i:
print('%d 是水仙花数' % (i))
运行结果
小练习2
“百钱百鸡”问题
100块钱买100只鸡,公鸡5块一只,母鸡3块一只,小鸡1块三只,有哪些方案?
for num_cock in range(0,100):
for num_hen in range(0,100):
if 14*num_cock+8*num_hen-200==0 and 100-num_cock-num_hen>=0:
print('公鸡{0}只,母鸡{1}只,小鸡{2}只'.format(num_cock,num_hen,(100-num_cock-num_hen)))
运行结果
小练习3
Craps赌博游戏
玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜
如果摇出2点 3点 12点 庄家胜 其他情况游戏继续
玩家再次要色子 如果摇出7点 庄家胜
如果摇出第一次摇的点数 玩家胜
否则游戏继续 玩家继续摇色子
玩家进入游戏时有1000元的赌注 全部输光游戏结束
from random import randint
money=1000
while money>0:
print('你的总资产为:',money)
needs_go_on=False
while True:
debt=int(input('your debt: '))
if debt>0 and debt<=money:
break
first=randint(1,6)+randint(1,6)
print('玩家第一次摇出了%d' % (first))
if first==7 or first==11:
print('玩家赢咯0w0')
money += debt
elif first==2 or first==3 or first == 12:
print('庄家赢了0w0')
money -= debt
else:
needs_go_on = True
print('游戏继续')
while needs_go_on:
current = randint(1,6)+randint(1,6)
print('玩家摇出了%d点' % (current))
if current == 7:
print('庄家赢了0w0')
money -= debt
needs_go_on = False
elif current == first:
print('玩家赢咯0w0')
money += debt
needs_go_on = False
else:
print('游戏继续')
print('没钱了,回家挨揍吧')
还是蛮好玩的呀,运行结果
上来就输了。溜了溜了。