You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python掷骰子随机数小游戏无法退出while循环问题求助

问题排查结果

核心故障原因

while循环的逻辑判断条件编写错误,具体问题如下:

  • 你当前使用的是or(逻辑或)运算符,该运算符的规则是:只要左右两个判断条件有一个成立为真,整个表达式的结果就为真。
    代入实际运行场景验证即可发现问题:
    • 若输入N,user_choice != 'N'为假,但user_choice != 'n'为真,整体表达式结果仍为真,循环不会退出
    • 若输入n,user_choice != 'n'为假,但user_choice != 'N'为真,整体表达式结果仍为真,循环不会退出
      无论输入什么内容,两个判断条件永远有一个成立,因此循环会永久运行无法终止。

修复方案

有两种常用修改方式,任选其一即可:

  1. 将or替换为and(逻辑与)运算符,修改后条件为:
    while user_choice != 'N' and user_choice != 'n':
    
    该逻辑表示只有输入既不等于大写N、也不等于小写n的时候才继续循环,输入任意大小写的N都会退出循环。
  2. 更简洁易读的写法,直接判断输入是否在退出选项集合中:
    while user_choice not in {'N', 'n'}:
    

修复后完整可运行代码

# Dice Rolling Random Number and Guessing Game
import random

user_choice = 'y'

while user_choice not in {'N', 'n'}:
    print(random.randint(1,6))
    user_choice = input("Do you want to continue: ")

print("You are exited")

内容的提问来源于stack exchange,提问作者Ss367

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:24:04