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

Python代码始终循环问题求助:选择1/2时无法终止循环

问题分析与解决方案

嘿,我一眼就瞅出问题所在啦!你的循环停不下来主要有两个关键原因,咱们挨个捋清楚解决:

1. 混淆了比较运算符和赋值运算符

你代码里写的 x == 1 和 x == 0 是比较操作——只是判断x是否等于1/0,根本没把值赋给x!正确的赋值得用单个等号 =,不然x永远是初始值0,循环完全不知道该终止~

2. 循环终止条件没和逻辑关联上

你当前的循环条件是 while True,这本身就是个无限循环,就算x的值改对了,它也不会自动停。咱们要么把循环条件改成基于x的状态,要么直接用break语句跳出循环,后者会更简洁直观。

修正后的代码(两种方案可选)

方案一:基于x的值控制循环

x = 0
while x == 0:
    choice = int(input("Choose 1 or 2: "))
    if choice == 2:
        print("You chose 2")
        x = 1  # 改成赋值操作
    elif choice == 1:
        print("You chose 1")
        x = 1  # 改成赋值操作
    else:
        print("I said 1 or 2.")

方案二:用break直接跳出循环(更推荐)

while True:
    choice = int(input("Choose 1 or 2: "))
    if choice == 2:
        print("You chose 2")
        break  # 直接终止循环
    elif choice == 1:
        print("You chose 1")
        break  # 直接终止循环
    else:
        print("I said 1 or 2.")

另外,我把多个独立的if改成了elif和else,这样代码逻辑更紧凑,不会做重复判断哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:26:39