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

Python:执行正确命令后循环无法终止的问题解决

问题解决

你的代码存在两个关键问题,导致输入正确答案后程序无法正常停止:

1. 条件判断语法错误

原代码中if和elif的条件写法逻辑错误,例如if "1" or "Even&Odd" or ... in gname,这里的"1"是一个非空字符串,在布尔逻辑中会被直接判定为True,导致整个条件永远成立——不管你输入什么内容,都会进入第一个分支。正确的写法是每个选项都单独判断是否存在于输入内容中。

2. 多余的函数返回值

函数末尾的return choosegame返回的是函数对象本身,这完全没必要,只会造成逻辑混淆,直接去掉即可。函数执行到break跳出循环后,会自然结束,程序也就停止运行。


修正后的代码:

EvenOdd = 1

def choosegame():
    while True:
        global gname
        gname = input("""
Which game would you like to play?
    1.Even&Odd
         OR         
    2.Three lines
	Type the number of the game to start
>>>""")
        # 修正条件判断逻辑
        if "1" in gname or "Even&Odd" in gname or "even&odd" in gname or "evenodd" in gname or "even" in gname or "odd" in gname:
            gname = EvenOdd
            print("odd even game passed")
            break
        elif "2" in gname or "Three" in gname or "three" in gname or "Lines" in gname or "lines" in gname:
            print("threeline game passes")
            break
        else:
            print("wrong word")

choosegame()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:02:02