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

Python温度转换器循环退出问题:按Q键无法终止循环求助

温度转换器循环退出问题解决

你的代码目前只能运行一次,且未实现Q退出逻辑。要实现循环运行+退出功能,只需把核心逻辑包裹进while True循环,并在用户选择Q时用break终止循环,同时补充输入异常处理避免程序崩溃。

修改后的代码如下:

while True:
    conversion = input("""Choose your operation.
                        Choices :
                        1. C to F
                        2. F to C
                        3. C to K
                        4. K to C
                        5. F to K
                        6. K to F
                        Q. Quit
                        Your choice : """).strip()
    
    # 处理退出逻辑
    if conversion.upper() == "Q":
        print("程序已退出")
        break
    
    # 验证选择是否有效
    if conversion not in ["1","2","3","4","5","6"]:
        print("无效选择,请输入1-6或Q")
        continue
    
    # 处理温度输入,避免非数字导致崩溃
    try:
        chiffre = float(input("Enter your temperature : "))
    except ValueError:
        print("请输入有效的温度数值")
        continue
    
    # 温度转换逻辑
    if conversion == "1":
        resultat = f"{chiffre*(9/5)+32}°F"                   
    elif conversion == "2":
        resultat = f"{(chiffre-32)*(5/9)}°C"       
    elif conversion == "3":
        resultat = f"{chiffre+273.15}°K"        
    elif conversion == "4":
        resultat = f"{chiffre-273.15}°C"  
    elif conversion == "5":
        resultat = f"{(5/9)*(chiffre+459.67)}°K"
    elif conversion == "6":
        resultat = f"{(chiffre-273.15)*(9/5) + 32}°F"
    
    print(f"Your result is {resultat}")

关键修改点:

  • 用while True创建无限循环,直到遇到break才退出
  • 在获取用户选择后,先判断是否为Q(用upper()兼容小写q),是则打印提示并break终止循环
  • 添加输入验证:如果用户输入的不是1-6/Q,提示错误并continue回到循环开头,重新获取选择
  • 用try-except捕获温度输入的非数字情况,避免程序崩溃,提示后回到循环

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 03:33:25