Python骰子程序开发咨询:实现获胜时sum变量递增及奖金打印
简单骰子程序实现方案
嘿,我来帮你搞定这个骰子程序的需求!核心逻辑就是掷骰子→判断获胜→累加奖金→打印结果,我用Python写了个示例,代码清晰易懂,还方便你自定义规则:
基础实现代码
import random # 初始化累计奖金(对应你说的sum变量,这里用total_winnings更直观) total_winnings = 0 # 定义每次获胜的奖励金额,可自行修改 per_win_reward = 15 def roll_two_dice(): """模拟掷两个骰子,返回两个点数""" die1 = random.randint(1, 6) die2 = random.randint(1, 6) return die1, die2 def is_win(die1, die2): """自定义获胜规则,这里示例是「两个骰子点数相同」,你可以随便改""" return die1 == die2 # 模拟多轮游戏,你也可以改成循环让玩家主动选择是否继续 for round_num in range(1, 6): print(f"\n=== 第 {round_num} 轮游戏 ===") d1, d2 = roll_two_dice() print(f"掷出的点数: {d1} | {d2}") if is_win(d1, d2): total_winnings += per_win_reward print(f"🎉 恭喜获胜!本次赢得 {per_win_reward} 元,累计奖金: {total_winnings} 元") else: print("😔 这次没赢,再来一轮试试!")
关键细节说明
- 随机骰子生成:用
random.randint(1,6)生成1到6的整数,完美模拟真实骰子的点数范围 - 获胜规则可自定义:比如你想改成「两个骰子总和≥10」,只需要修改
is_win函数:
或者改成「总和为7或11」(赌场常见规则):def is_win(die1, die2): return (die1 + die2) >= 10def is_win(die1, die2): total = die1 + die2 return total == 7 or total == 11 - 累计奖金累加:每次获胜时,
total_winnings(也就是你说的sum变量)会自动加上单轮奖励,然后打印当前累计金额
进阶优化(可选)
如果想做更交互性的版本,让玩家可以自主控制游戏轮次,比如按回车继续、输入q退出:
import random total_winnings = 0 per_win_reward = 15 def roll_two_dice(): return random.randint(1,6), random.randint(1,6) def is_win(d1, d2): return d1 == d2 print("🎲 欢迎来到骰子游戏!按回车键开始掷骰子,输入q退出") while True: user_input = input("\n请输入操作: ").strip().lower() if user_input == 'q': print(f"\n游戏结束!你累计赢得 {total_winnings} 元,下次再来玩~") break elif not user_input: # 用户按了回车键 d1, d2 = roll_two_dice() print(f"掷出点数: {d1} | {d2}") if is_win(d1, d2): total_winnings += per_win_reward print(f"🎉 获胜!本次赢 {per_win_reward} 元,累计: {total_winnings} 元") else: print("😔 没赢,继续加油!") else: print("无效输入,请按回车键掷骰子,或输入q退出")
如果你用的是其他编程语言(比如Java、C++),或者有更具体的获胜规则要求,随时告诉我,我再调整代码示例!
内容的提问来源于stack exchange,提问作者Venkata Naga Ravi Teja Lanka
相关产品推荐
相关产品推荐

