如何使用Python字典来实现基本的四则运算操作?
时间: 2025-01-05 17:40:05 浏览: 17
在Python中,你可以通过创建一个字典来模拟一个简单的四则运算计算器。每个键值对代表一个数学运算和其对应的函数。下面是一个简单的例子:
```python
# 定义四则运算的字典
operator_dict = {
"+": lambda x, y: x + y,
"-": lambda x, y: x - y,
"*": lambda x, y: x * y,
"/": lambda x, y: x / y if y != 0 else "除数不能为零"
}
# 用户输入数字和运算符
num1 = float(input("请输入第一个数字: "))
operator = input("请输入运算符 (+, -, *, /): ")
num2 = float(input("请输入第二个数字: "))
# 使用字典中的函数计算结果
try:
result = operator_dict[operator](num1, num2)
except KeyError:
print("无效的运算符")
else:
print(f"结果: {result}")
相关问题
python四则运算(用字典实现)
在Python中,你可以使用字典来模拟四则运算的功能,将操作符作为键,相关的计算函数作为值存储起来。这是一种灵活性很高的实现方式,可以根据需要添加更多的运算。下面是一个简单的例子:
```python
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:
return a / b
else:
return "Error! Division by zero is not allowed."
operations = {
'+': add,
'-': subtract,
'*': multiply,
'/': divide,
}
# 使用字典实现四则运算
expression = input("请输入表达式(如 '2 + 3'):")
split_expression = expression.split()
if len(split_expression) == 3 and split_expression[0] in operations and operations[split_expression[0]] is not None:
result = operations[split_expression[0]](float(split_expression[1]), float(split_expression[2]))
print(f"结果是:{result}")
else:
print("无效的表达式,请按照格式输入四则运算。")
Python 列表实现四则运算
Python 中可以利用列表来实现四则运算的一种简单方法是通过字典存储操作符及其对应的函数,然后遍历用户输入的表达式字符串,对每个字符进行解析并执行相应的计算。以下是一个简单的示例:
```python
def evaluate_expression(expression):
operators = {'+': lambda x, y: x + y,
'-': lambda x, y: x - y,
'*': lambda x, y: x * y,
'/': lambda x, y: x / y if y != 0 else "Error: Division by zero"}
numbers = expression.split()
stack = []
for token in numbers:
if token.isdigit():
stack.append(int(token))
elif token in operators:
right = stack.pop()
left = stack.pop()
result = operators[token](left, right)
stack.append(result)
return stack[0] if len(stack) == 1 else "Error: Invalid expression"
# 示例
expression = "4 5 +"
result = evaluate_expression(expression)
print(f"结果是: {result}")
阅读全文