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

