如何为已编写的Python简易计算器添加循环功能?
给Python简易计算器添加循环运行功能
要让计算器能重复执行计算,核心是用循环结构包裹程序的核心逻辑,直到用户选择退出为止。同时原代码存在缩进错误,需要一并修正,否则会运行报错。
修改后的完整代码
# Python program for simple calculator # Function to add two numbers def add(num1, num2): return num1 + num2 # Function to subtract two numbers def subtract(num1, num2): return num1 - num2 # Function to multiply two numbers def multiply(num1, num2): return num1 * num2 # Function to divide two numbers def divide(num1, num2): return num1 / num2 while True: print("Welcome, please choose the operation:\n" "1. Addition\n" "2. Subtraction\n" "3. Multiplication\n" "4. Division\n" "5. Exit") # Take input from the user try: select = int(input("Please, Type the choice: ")) except ValueError: print("Invalid input! Please enter a number between 1-5.") continue if select == 5: print("Thanks and goodbye") break try: number_1 = int(input("Enter number 1: ")) number_2 = int(input("Enter number 2: ")) except ValueError: print("Invalid number! Please enter integer values.") continue if select == 1: print(number_1, "+", number_2, "=", add(number_1, number_2)) elif select == 2: print(number_1, "-", number_2, "=", subtract(number_1, number_2)) elif select == 3: print(number_1, "*", number_2, "=", multiply(number_1, number_2)) elif select == 4: if number_2 == 0: print('You cannot divide by zero') else: print(number_1, "/", number_2, "=", divide(number_1, number_2)) else: print("Invalid choice! Please select an option between 1-5.")
关键修改说明
- 用
while True创建无限循环,程序会一直运行,直到用户选择选项5时执行break退出循环 - 将操作菜单、用户选择输入、数字输入和计算逻辑全部放入循环内部,确保每次循环都能重新选择操作
- 新增输入验证(
try-except块),避免用户输入非数字内容导致程序崩溃 - 修正原代码中混乱的缩进问题,保证代码语法正确
- 增加对无效选项的处理,提示用户输入正确范围的选项
内容的提问来源于stack exchange,提问作者David Heydenrych
相关产品推荐
相关产品推荐

