如何根据用户输入重复执行Python单位转换程序?
升(L)到立方厘米(cc/cm³)转换工具(带重复执行功能)
以下是嵌入重复执行逻辑的完整Python代码,完全符合你的需求:
while True: try: # 获取用户输入的升数 liters = float(input("请输入要转换的升数(L): ")) # 1升 = 1000立方厘米,执行转换计算 cubic_cm = liters * 1000 print(f"{liters} L = {cubic_cm} cc/cm³") # 询问是否继续执行程序 while True: repeat_input = input("是否继续转换?(y/n): ").strip().lower() if repeat_input == 'y': break # 回到主循环,重启转换流程 elif repeat_input == 'n': print("感谢使用!") exit() # 退出程序 else: print("Invalid Input!") except ValueError: print("错误:请输入有效的数字!") # 异常发生后同样询问是否继续 while True: repeat_input = input("是否继续转换?(y/n): ").strip().lower() if repeat_input == 'y': break elif repeat_input == 'n': print("感谢使用!") exit() else: print("Invalid Input!")
关键逻辑说明
- 外层
while True构建主循环,让程序可以重复执行直到用户主动退出 - try块处理正常的输入转换流程:捕获用户输入的升数,完成单位转换并输出结果
- except块捕获用户输入非数字的异常,输出错误提示
- 在输出结果或错误提示后,通过内层循环处理用户的重复请求:
- 输入
y/Y时,跳出内层循环,回到主循环开头重启程序 - 输入
n/N时,打印感谢信息并终止程序 - 输入其他内容时,提示无效输入并重新询问,直到得到有效选项
- 输入
内容的提问来源于stack exchange,提问作者Hello World
相关产品推荐
相关产品推荐

