Python 抢红包游戏代码:随机分配金额,公平有趣!

这是一个用 Python 语言编写的简单抢红包游戏,规则如下:

  1. 程序随机生成一个红包金额,范围在 1-100 元之间。
  2. 程序随机生成一个红包个数,范围在 1-10 个之间。
  3. 游戏开始后,每个玩家可以选择抢红包,每个玩家只有一次机会。
  4. 玩家抢到的红包金额随机,但总金额不会超过红包金额。
  5. 游戏结束后,程序会输出每个玩家抢到的红包金额和总金额。

代码如下:

import random

def get_red_packet(money, num):
    packet = []
    total_money = 0
    for i in range(num):
        if i == num - 1:
            packet.append(money - total_money)
        else:
            max_money = money - total_money - (num - i - 1)
            m = random.randint(1, max_money)
            packet.append(m)
            total_money += m
    random.shuffle(packet)
    return packet

def play_game():
    money = random.randint(1, 100)
    num = random.randint(1, 10)
    packets = get_red_packet(money, num)
    players = ['小明', '小红', '小刚', '小李']
    results = {}
    for p in players:
        print(f'{p}抢红包中...')
        input('按Enter键继续...')
        money = packets.pop()
        results[p] = money
        print(f'{p}抢到了{money}元\n')
    total = sum(results.values())
    print('游戏结束,结果如下:')
    for p, m in results.items():
        print(f'{p}: {m}元')
    print(f'总金额:{total}元')

if __name__ == '__main__':
    play_game()

运行结果:

小明抢红包中...
按Enter键继续...
小明抢到了13元

小红抢红包中...
按Enter键继续...
小红抢到了9元

小刚抢红包中...
按Enter键继续...
小刚抢到了19元

小李抢红包中...
按Enter键继续...
小李抢到了59元

游戏结束,结果如下:
小明: 13元
小红: 9元
小刚: 19元
小李: 59元
总金额:100元

代码说明:

  1. get_red_packet 函数用于生成红包金额列表,保证总金额不超过红包金额,并随机分配。
  2. play_game 函数用于模拟游戏过程,包括生成红包、玩家抢红包和输出结果。

这个抢红包游戏简单易懂,可以帮助你学习 Python 的基础语法和随机数生成,也可以作为简单的娱乐项目。

欢迎尝试!

Python 抢红包游戏代码:随机分配金额,公平有趣!

原文地址: https://www.cveoy.top/t/topic/noUi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录