如何编写Python代码实现掷骰子直到结果为6时自动停止?
掷骰子循环代码问题修复
现有代码的核心问题
- 随机数仅在循环外生成1次,
r的值后续无更新,只要首次生成结果不是6,就会永久满足r < 6的循环进入条件,触发死循环 - 循环内的
continue语句放在了判断逻辑之前,continue会直接终止本次循环的后续代码执行,后续的等于6的判断和终止逻辑永远不会被触发
可运行的正确代码
import random # 避免使用min、max作为变量名,二者是Python内置函数,避免覆盖原有功能 min_val = 1 max_val = 6 while True: # 每次循环都重新生成随机骰子结果 r = random.randint(min_val, max_val) print(r) # 生成结果为6时终止循环 if r == 6: break
内容的提问来源于stack exchange,提问作者Tuomas Harju
相关产品推荐
相关产品推荐

