Day5-构造程序逻辑

经典的例子

本节主要是锻炼程序逻辑,将之前所学转换成代码表达出来

1.寻找水仙花数。

说明:水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,例如:$1^3 + 5^3+ 3^3=153$。

"""
1.寻找水仙花数:
说明:水仙花数也被称为超完全数字、不变数、自恋数、阿姆斯特朗数、
他是一个3位数,该数字每个位上数字的立方之和正好等于它本身


for num in range(100,1000):
    low = num % 10
    mid = num // 10 % 10
    high = num // 100
    if num == low ** 3 + mid ** 3 + high ** 3 :
        print(num)

注意:
“ / ” 为浮点数除法,返回浮点结果 “ // ” 表示整数除法,返回不大于结果的一个最大整数 print("6 / 4 =" + str(6 / 4)) //1.5 print("6 // 4 =" + str(6 // 4)) //1
"""
"""
2.正整数反转,将12345,变成54321

a =int(input(''))
one = a % 10
ten = a //10 % 10
hundred = a // 100 % 10
thousand = a // 1000 % 10
tenthousand = a // 10000
print(one,ten,hundred,thousand,tenthousand)
"""
"""
整数翻转
num = int(input("num = "))
reversed_num = 0#reversed颠倒的
while num > 0:
    reversed_num = reversed_num * 10 + num % 10
    num //= 10
print(reversed_num)
"""

百钱百鸡问题。

说明:百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?翻译成现代文是:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?

"""
3.百钱买百鸡
公鸡5元1只,母鸡3元1只,小鸡,1元3只

for x in range(0,20):
    for y in range(0,33):
        z = 100 - x - y
        if 5 * x +3 * y + z /3 == 100:
            print("公鸡:%d,母鸡:%d,小鸡:%d"%(x,y,z))
"""

3.CRAPS赌博游戏。

说明:CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。

 

from random  import randint

money = 1000
while money > 0:
    flag = False
    print("你的资产为", money)
    while True:
        down_money = int(input("请下注"))
        if 0 < down_money < money:
            break
    first = randint(1, 6) + randint(1, 6)
    if first == 7 or first == 11:
        print("玩家胜利")
        money += down_money
    elif first == 2 or first == 3 or first == 12:
        print("庄家胜利")
        money -= down_money
    else:
        print("第一次流局,继续")
        flag = True
    while flag:
        flag = False
        second = randint(1, 6) + randint(1, 6)
        if second == 7:
            print("庄家胜利")
            money -= down_money
        elif second == first:
            print("玩家胜利")
            money += down_money
        else:
            print("再一次流局,继续")
            flag = True
print("你破产了,别玩了")

 

posted @ 2021-03-03 20:21  三千杨柳细如丝  阅读(91)  评论(0)    收藏  举报