如何为Python计算器添加返回主菜单重启功能?
如何给简易计算器添加返回主菜单功能
我是Python新手,最近制作了一个简易计算器,功能运行正常,但希望添加返回主菜单重启的选项,而非重启整个程序。我尝试过添加While True循环,但无法正确使用。以下是我的现有代码:
from math import sqrt import time print("Welcome to Calculator") print(" #1 Add \n #2 Subtract \n #3 Multiply \n #4 Divide \n #5 Square Root") option = input("Select one #: ") if option == "1": print("Addition:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") result = float(num1) + float(num2) print("The answer is: ", result) elif option == "2": print("Subtraction:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") result = float(num1) - float(num2) print("The answer is: ", result) elif option == "3": print("Multiplication:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") result = float(num1) * float(num2) print("The answer is: ", result) elif option == "4": print("Division:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") result = float(num1) / float(num2) print("The answer is: ", result) elif option == "5": print("Square Root:") num1 = input("Enter Number: ") result = sqrt(float(num1)) print("The answer is: ", result)
要实现返回主菜单的功能,只需把核心逻辑放进while True循环,再补充退出选项和基础错误处理,修改后的代码如下:
from math import sqrt import time while True: print("\nWelcome to Calculator") print(" #1 Add \n #2 Subtract \n #3 Multiply \n #4 Divide \n #5 Square Root \n #6 Exit") option = input("Select one #: ") if option == "1": print("Addition:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") result = float(num1) + float(num2) print("The answer is: ", result) elif option == "2": print("Subtraction:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") result = float(num1) - float(num2) print("The answer is: ", result) elif option == "3": print("Multiplication:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") result = float(num1) * float(num2) print("The answer is: ", result) elif option == "4": print("Division:") num1 = input("Enter first Number: ") num2 = input("Enter Second Number: ") # 处理除数为0的情况 if float(num2) == 0: print("Error: Cannot divide by zero!") else: result = float(num1) / float(num2) print("The answer is: ", result) elif option == "5": print("Square Root:") num1 = input("Enter Number: ") # 处理负数开根号的情况 if float(num1) < 0: print("Error: Cannot calculate square root of a negative number!") else: result = sqrt(float(num1)) print("The answer is: ", result) elif option == "6": print("Exiting calculator...") time.sleep(1) break else: print("Invalid option! Please select a number from 1 to 6.") # 等待用户查看结果后再回到菜单 input("Press Enter to return to main menu...")
关键修改说明:
- 用
while True包裹整个菜单和功能代码,循环会一直执行直到遇到break语句 - 添加了
#6 Exit选项,用户选择后用break跳出循环,正常结束程序 - 增加了无效输入提示,当用户输入非1-6的内容时给出明确提醒
- 补充了除数为0、负数开根号的错误处理,避免程序崩溃
- 每个功能执行完后添加
input("Press Enter to return to main menu..."),让用户看完结果再回到菜单
内容的提问来源于stack exchange,提问作者Bryson hill
相关产品推荐
相关产品推荐

