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
相关产品推荐
相关产品推荐

