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

Python中while循环重复打印,如何实现每次执行后重新获取用户选择?

问题根因

你当前代码的问题在于仅在进入无限循环前读取了一次用户输入的choice值,循环内部没有更新choice的逻辑,所以只要首次输入为1或2,就会永远触发对应分支的打印逻辑。

优化实现方案

不需要新增额外循环,仅需将输入读取逻辑移到while循环内部即可,每次循环都会先请求用户输入再执行对应逻辑,完全符合需求,同时还能避免首次输入非法值后程序无响应的问题。

修正后的代码如下:

while True:
    choice = int(input("Choose a function from 1 to 3: "))
    if choice == 1:
        print("You chose 1")
    elif choice == 2:
        print("You chose 2")
    elif choice == 3:
        print("Shutting down")
        break

如果需要兼容非数字输入的异常场景,可以额外加一层try-except捕获ValueError即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:45:10