"""
day5
构造程序逻辑
1、寻找水仙花数
2、寻找完美数
3、百钱白鸡问题
4、生成斐波那契数列
5、Craps赌博游戏
#1、寻找水仙花数
from math import *
for i in range(100,999):
a =int(i%10)#个位
b=int(i/10%10)#十位
c =int(i/100)#百位
#print(c,b,a)
if(i==a**3+b**3+c**3):
print(i)
-----------------------------------------
153
370
371
407
____________________________________________________________
#2、寻找完美数
for i in range(1,1000000000):
sum=0
#print(i)
for j in range(1,i):
if(i%j==0):
sum=sum+j
#print(sum)
if sum==i :
print(sum)
--------------------------------------------
6
28
496
8128
___________________________________________________________
#3、百钱白鸡问题
"""
一只公鸡5元,一只母鸡3元 3只小鸡1元,用100元买买一百只鸡
公鸡,母鸡和小鸡各能买多少只
"""
for x in range(1,20):
for y in range(1,34):
z=(100-(5*x+3*y))*3
if x+y+z==100:
print("公鸡,母鸡,小鸡各能买:")
print(x,y,z)
--------------------------------------------
公鸡,母鸡,小鸡各能买:
4 18 78
公鸡,母鸡,小鸡各能买:
8 11 81
公鸡,母鸡,小鸡各能买:
12 4 84
——————————————————————————————————————
#4、生成斐波那契数列
counter = int(input("enter the conuter"))
num1=1
num2=1
print(num1,num2,end=" ")
for i in range(1,counter):
num=num2+num1
num1=num2
num2=num
print(num,end =" ")
--------------------------------------
enter the conuter12
1 1 2 3 5 8 13 21 34 55 89 144 233
——————————————————————————————
"""""
#5Craps赌博游戏
玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜
如果摇出2点 3点 12点 庄家胜 其他情况游戏继续
玩家再次要色子 如果摇出7点 庄家胜
如果摇出第一次摇的点数 玩家胜
否则游戏继续 玩家继续摇色子
玩家进入游戏时有1000元的赌注 全部输光游戏结束
"""
from random import randint
money =1000
while money>0:
print("你的总资产为:",money)
needgo =False
while True:
debt = int(input("请下注"))
if debt>0 and debt<=money:
break
first = randint(1,6)+randint(1,6)
print("玩家摇色子的点数为:",first)
if first == 7 or first ==11:
print("玩家赢")
money+=debt
elif first ==2 or first ==3 or first ==5:
print("庄家胜出")
else:
needgo =True
while needgo:
current = randint(1,6)+randint(1,6)
print("玩家摇色子的点数为:",current)
if current == 7:
print("庄家胜")
money-=debt
needgo = False
elif current == first:
money+=debt
needgo = False
print("______________________________")
print("你破产了,游戏结束")