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

