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

如何让Python编写的华氏度-摄氏度计算器支持循环输入?

华氏度与摄氏度互转计算器(实现错误输入重试)

修改后的完整代码

while True:
    user_choice = input("do you want to convert F or C?: ").strip().upper()

    if user_choice == "F":
        try:
            x = int(input("Please enter fahrenheit temperature: "))
            celsius = (x - 32) * 5/9
            print(f"Converted to Celsius: {celsius:.2f}")
        except ValueError:
            print("Please enter a valid number!")
        break  # 完成转换后退出循环,若需持续转换可删除此行

    elif user_choice == "C":
        try:
            c = int(input("Please enter celsius temperature: "))
            fahrenheit = (c * 1.8) + 32
            print(f"Converted to Fahrenheit: {fahrenheit:.2f}")
        except ValueError:
            print("Please enter a valid number!")
        break  # 完成转换后退出循环,若需持续转换可删除此行

    else:
        print("Invalid choice! Please enter 'F' or 'C'.")

关键改动说明

  • 循环重试逻辑:通过while True创建无限循环,当用户输入非F/C的选项时,会自动回到初始问询步骤
  • 输入兼容性优化:.strip().upper()处理用户输入,自动去除前后空格并转为大写,兼容小写f/c、带空格的输入场景
  • 拼写错误修正:修复了原代码中farihneit、tempature的拼写错误,统一为标准拼写fahrenheit、temperature
  • 异常防护:添加try-except捕获用户输入非数字的情况,避免程序因无效值崩溃
  • 输出格式化:用格式化字符串保留两位小数输出转换结果,提升可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 05:50:11