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

如何为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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:45:21