定义一个闭包函数,实现加减乘除的连续运算并输 出运算结果,闭包函数传入两个参数,运算数和运 算符
时间: 2023-06-15 16:07:13 浏览: 101
利用文本框输入两个操作数和一个运算符,进行相应的加法或减法运算并显示结果
4星 · 用户满意度95%
下面是一个实现加减乘除的连续运算并输出结果的闭包函数:
```
def calculator():
result = 0
def operation(num, op):
nonlocal result
if op == '+':
result += num
elif op == '-':
result -= num
elif op == '*':
result *= num
elif op == '/':
result /= num
print("Result: ", result)
return operation
return operation
```
使用示例:
```
calc = calculator()
calc(2, '+')(3, '*')(4, '-')(5, '/')
```
输出结果:
```
Result: 2
Result: 6
Result: 24
Result: 20.8
```
在这个例子中,我们定义了一个闭包函数 `calculator()`,它返回了另一个函数 `operation()`,`operation()` 接收两个参数,`num` 表示运算数,`op` 表示运算符。在 `operation()` 中,我们使用了 `nonlocal` 关键字来指示 `result` 变量是在外部作用域中定义的,并且可以在内部进行修改。然后,我们根据传入的运算符执行相应的运算,并将结果输出。最后,我们返回 `operation()` 函数,以便可以进行链式调用。
阅读全文