不用eval函数,写一个函数,用户输入任意两个数字的任意算术运算(简单的计算器小功能),并能弹出运算后的结果。
时间: 2024-05-08 15:21:26 浏览: 77
可以使用Python的内置函数`eval()`来实现用户输入任意算术运算的功能,但是由于`eval()`函数存在一些安全隐患,不建议使用。因此,我们可以自己编写一个函数来实现该功能。
以下是一个简单的实现:
```python
def calculate(num1, operator, num2):
"""
计算两个数字的算术运算结果
:param num1: 第一个数字
:param operator: 运算符,支持 +、-、*、/、%、** 六种运算符
:param num2: 第二个数字
:return: 运算结果
"""
if operator == "+":
return num1 + num2
elif operator == "-":
return num1 - num2
elif operator == "*":
return num1 * num2
elif operator == "/":
# 需要特判除数为0的情况
if num2 == 0:
return "除数不能为0"
else:
return num1 / num2
elif operator == "%":
return num1 % num2
elif operator == "**":
return num1 ** num2
else:
return "不支持的运算符"
# 测试
num1 = float(input("请输入第一个数字:"))
operator = input("请输入运算符(支持 +、-、*、/、%、** 六种运算符):")
num2 = float(input("请输入第二个数字:"))
result = calculate(num1, operator, num2)
print("运算结果为:", result)
```
使用`input()`函数接受用户输入数字和运算符,然后调用`calculate()`函数计算结果,并输出结果。
需要注意的是,在进行除法运算时,需要特判除数为0的情况,否则会抛出`ZeroDivisionError`异常。
阅读全文