python# 案例:模拟银行ATM存款取款 # 1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式); # 2.提示用户输入银行卡和密码,遍历每张卡的信息验证是否成功; # 3.如果用户输入正确---提示让用户选择取款.存款还是退出,并提示余额多少. 输入错误---重新输入卡 号密码; # 选择取款---提示输入取款额度,如果超过余额,提示余额不足;否则,在余额上减掉相应金额; # 选择存款---输入存款额度,余额加上相应额度,并提示余额多少; # 选择退出---重新登录; # 4.连续3次输入错误账号密码,提示银行卡已被锁定,程序结束。
时间: 2024-04-08 09:35:05 浏览: 104
利用python模拟银行自动取款系统
4星 · 用户满意度95%
以下是一个模拟银行ATM存款取款的Python代码示例:
```python
bank_cards = [
{"card_number": "1001", "password": "123456", "balance": 5000},
{"card_number": "1002", "password": "654321", "balance": 3000},
{"card_number": "1003", "password": "987654", "balance": 2000}
]
def login():
card_number = input("请输入银行卡号:")
password = input("请输入密码:")
for card in bank_cards:
if card["card_number"] == card_number and card["password"] == password:
return card
return None
def withdraw(card):
amount = float(input("请输入取款额度:"))
if amount > card["balance"]:
print("余额不足")
else:
card["balance"] -= amount
print("取款成功")
def deposit(card):
amount = float(input("请输入存款额度:"))
card["balance"] += amount
print("存款成功")
def atm():
count = 0
while count < 3:
card = login()
if card is None:
count += 1
print("账号或密码错误,请重新输入")
else:
count = 0
print("登录成功")
while True:
choice = input("请选择操作:\n1. 取款\n2. 存款\n3. 退出\n")
if choice == "1":
withdraw(card)
print("当前余额为:", card["balance"])
elif choice == "2":
deposit(card)
print("当前余额为:", card["balance"])
elif choice == "3":
break
else:
print("无效的选择")
print("银行卡已被锁定")
atm()
```
这段代码模拟了一个简单的ATM机操作流程,包括登录验证、取款、存款和退出功能。每张银行卡的信息存储在一个列表中,通过遍历列表来验证用户输入的银行卡和密码信息。如果输入正确,则提示用户选择操作类型,并根据用户的选择执行相应的操作。如果连续3次输入错误账号密码,则提示银行卡已被锁定。
阅读全文