day5 构造程序逻辑

day5

构造程序逻辑

"""
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("你破产了,游戏结束")
上一篇:day5


下一篇:【2021noip模拟赛day5】A. 旅游计划