Python骰子程序修改:实现连续重复掷骰提示功能
修正后的掷骰子程序
先看完整的可运行代码:
import random # 获取合法的掷骰次数 while True: try: roll_times = int(input("请输入掷骰次数(3-12范围内):")) if 3 <= roll_times <= 12: break else: print("次数必须在3到12之间,请重新输入!") except ValueError: print("请输入有效的整数!") # 初始化变量跟踪前一次掷骰结果 prev_roll = None total = 0 for _ in range(roll_times): current_roll = random.randint(1, 6) # 模拟单个骰子掷出1-6点 total += current_roll print(f"本次掷出:{current_roll}") # 检测连续相同点数 if prev_roll is not None and current_roll == prev_roll: print("-> On a roll!") # 更新前一次结果为当前点数 prev_roll = current_roll print(f"\n总点数:{total}")
关键逻辑说明
- 初始化
prev_roll = None:第一次掷骰前没有历史结果,用None标记初始状态 - 每次生成
current_roll后,先判断prev_roll不是None(避免第一次就触发判断),再对比当前点数和前一次是否相同 - 无论是否触发提示,每次循环结束都要把
prev_roll更新为当前点数,为下一次循环做准备
预期输出示例
请输入掷骰次数(3-12范围内):5
本次掷出:3
本次掷出:3
-> On a roll!
本次掷出:5
本次掷出:5
-> On a roll!
本次掷出:2总点数:18
内容的提问来源于stack exchange,提问作者Code_monkey
相关产品推荐
相关产品推荐

