写一个Python的上述代码
时间: 2024-11-24 12:40:04 浏览: 15
当然,以下是使用Python编写类似ATM存取款功能的闭包示例:
```python
def create_atm_account(initial_balance):
def withdraw(amount):
if amount <= initial_balance:
initial_balance -= amount
print(f"成功提取{amount}元,当前余额:{initial_balance}")
else:
print("余额不足")
def deposit(amount):
initial_balance += amount
print(f"成功存款{amount}元,当前余额:{initial_balance}")
return withdraw, deposit
# 初始化一个账户,余额为1000
my_atm = create_atm_account(1000)
# 进行存取款操作
my_atm[0](500) # 输出 "成功提取500元,当前余额:500"
my_atm[1](200) # 输出 "成功存款200元,当前余额:700"
```
在这个Python代码里,我们首先定义了一个`create_atm_account`函数,它接受初始余额作为参数,然后返回两个嵌套函数`withdraw`和`deposit`,分别处理存取款操作。这样,`withdraw`和`deposit`都有访问到外部函数`create_atm_account`中`initial_balance`的能力,实现了闭包的效果。
阅读全文