求一些实际问题(python)

一、 1只公鸡5元 1只母鸡3元 3只小鸡1元 用100元买100只鸡 问公鸡 母鸡 小鸡各有多少只? (python)

穷举法:

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))

output:

公鸡: 0, 母鸡: 25, 小鸡: 75只
公鸡: 3, 母鸡: 20, 小鸡: 77只
公鸡: 4, 母鸡: 18, 小鸡: 78只
公鸡: 7, 母鸡: 13, 小鸡: 80只
公鸡: 8, 母鸡: 11, 小鸡: 81只
公鸡: 11, 母鸡: 6, 小鸡: 83只
公鸡: 12, 母鸡: 4, 小鸡: 84

二、Craps赌博游戏

玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜 如果摇出2点 3点 12点 庄家胜 其他情况游戏继续 玩家再次要色子 如果摇出7点 庄家胜 如果摇出第一次摇的点数 玩家胜 否则游戏继续 玩家继续摇色子 玩家进入游戏时自主输入赌注 全部输光游戏结束(python)


from random import randint

money = int(input('请输入你的总金额: '))
while money > 0:
    print('所有的资产:%d' % money)
    needs_go_on = False
    while True:
        debt = int(input('请下注: '))
        if debt > 0 and debt <= money:
            break
        print('输入金额有误,请重新输入正确小于 %d' % money)
    first = randint(1, 6) + randint(1, 6)
    print('玩家摇出了%d点' % first)
    if first == 7 or first == 11:
        print('玩家胜!')
        money += debt
    elif first == 2 or first == 3 or first == 12:
        print('庄家胜!')
        money -= debt
    else:
        needs_go_on = True

    while needs_go_on:
        current = randint(1, 6) + randint(1, 6)
        print('玩家摇出了%d点' % current)
        if current == 7:
            print('庄家胜')
            money -= debt
            needs_go_on = False
        elif current == first:
            print('玩家胜')
            money += debt
            needs_go_on = False

print('你破产了, 游戏结束!')

分析:
当押注金额大于总金额则会陷入死循环的等待。

发布了97 篇原创文章 · 获赞 56 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/hanjuefu5827/article/details/94837497
今日推荐