#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 十进制四则运算计算器 支持加、减、乘、除基本运算 提供交互式命令行界面 """ def add(a, b): """加法""" return a + b def subtract(a, b): """减法""" return a - b def multiply(a, b): """乘法""" return a * b def divide(a, b): """除法,处理除零错误""" if b == 0: raise ValueError("除数不能为零") return a / b def calculate(expression): """ 解析并计算表达式 表达式格式: 数字1 运算符 数字2,例如: 5 + 3 支持运算符: +, -, *, / """ try: # 分割表达式 parts = expression.strip().split() if len(parts) != 3: raise ValueError("表达式格式错误,请使用格式: 数字 运算符 数字 (例如: 5 + 3)") # 解析操作数 try: num1 = float(parts[0]) num2 = float(parts[2]) except ValueError: raise ValueError("操作数必须是数字") # 解析运算符并执行计算 operator = parts[1] if operator == '+': result = add(num1, num2) elif operator == '-': result = subtract(num1, num2) elif operator == '*': result = multiply(num1, num2) elif operator == '/': result = divide(num1, num2) else: raise ValueError(f"不支持的运算符: {operator},请使用 +, -, *, /") return result except ValueError as e: raise e except Exception as e: raise RuntimeError(f"计算错误: {e}") def main(): """主函数,交互式计算器""" print("=" * 50) print("十进制四则运算计算器") print("=" * 50) print("使用说明:") print(" 1. 输入表达式,格式: 数字 运算符 数字") print(" 2. 支持的运算符: + (加), - (减), * (乘), / (除)") print(" 3. 示例: 5 + 3, 10.5 * 2, 8 / 4") print(" 4. 输入 'exit' 或 'quit' 退出程序") print("=" * 50) while True: try: # 获取用户输入 user_input = input("\n请输入表达式: ").strip() # 检查退出命令 if user_input.lower() in ['exit', 'quit', 'q']: print("\n感谢使用计算器,再见!") break # 跳过空输入 if not user_input: continue # 计算并显示结果 result = calculate(user_input) print(f"结果: {result}") except ValueError as e: print(f"输入错误: {e}") except RuntimeError as e: print(f"计算错误: {e}") except KeyboardInterrupt: print("\n\n检测到中断信号,退出程序...") break except Exception as e: print(f"未知错误: {e}") if __name__ == "__main__": main()