python简易计算机代码
以下是一个简单的Python计算器代码,它可以执行基本的加、减、乘、除运算:
python复制代码# 定义函数进行运算 def add(x, y): return x + y def subtract(x, y): return x - y def multiply(x, y): return x * y def divide(x, y): if y == 0: return "错误:除数不能为0" else: return x / y # 主程序 print("选择运算:") print("1、加法") print("2、减法") print("3、乘法") print("4、除法") # 获取用户输入 choice = input("输入你的选择(1/2/3/4):") num1 = float(input("输入第一个数字: ")) num2 = float(input("输入第二个数字: ")) # 根据用户选择进行运算 if choice == '1': print(num1, "+", num2, "=", add(num1, num2)) elif choice == '2': print(num1, "-", num2, "=", subtract(num1, num2)) elif choice == '3': print(num1, "*", num2, "=", multiply(num1, num2)) elif choice == '4': print(num1, "/", num2, "=", divide(num1, num2)) else: print("非法输入")
这个程序首先定义了四个函数,分别用于执行加、减、乘、除运算。然后,程序会打印出一个菜单,让用户选择他们想要进行的运算。用户输入他们的选择后,程序会要求他们输入两个数字,然后根据他们的选择执行相应的运算,并打印出结果。如果用户输入了非法的选择,程序会打印出一个错误消息。
为了增强用户体验和健壮性,我们可以对上面的代码进行一些改进,比如增加异常处理来捕获可能的输入错误,并优化用户交互。下面是一个改进后的版本:
python复制代码def add(x, y): return x + y def subtract(x, y): return x - y def multiply(x, y): return x * y def divide(x, y): if y == 0: raise ValueError("错误:除数不能为0") return x / y def calculator(): print("简易计算器") print("1. 加法") print("2. 减法") print("3. 乘法") print("4. 除法") print("5. 退出") while True: try: choice = int(input("请输入你的选择(1-4)或输入5退出:")) if choice == 5: print("感谢使用计算器,再见!") break if choice < 1 or choice > 4: print("非法输入,请重新选择。") continue num1 = float(input("请输入第一个数字:")) num2 = float(input("请输入第二个数字:")) if choice == 1: result = add(num1, num2) elif choice == 2: result = subtract(num1, num2) elif choice == 3: result = multiply(num1, num2) elif choice == 4: result = divide(num1, num2) print(f"结果:{num1} {['+', '-', '*', '/'][choice-1]} {num2} = {result}") except ValueError as e: print("输入错误:", e) except ZeroDivisionError: print("错误:除数不能为0") if __name__ == "__main__": calculator()
在这个版本中,我们定义了一个calculator函数来封装计算器的逻辑,并在一个无限循环中运行,直到用户选择退出。我们还添加了异常处理来捕获输入错误(如非数字输入)和除以零的错误,并给出相应的错误提示。
此外,我们还使用了一个列表来根据用户的选择输出相应的运算符,这样可以使代码更加简洁。用户输入和结果输出也进行了格式化,以提高可读性。
现在,这个计算器程序应该更加健壮和易用了。用户可以通过输入数字1到4来选择运算,输入5来退出程序,而任何不合法的输入或操作都会得到相应的错误提示。