银行系统python
时间: 2023-12-17 21:29:00 浏览: 27
银行系统是一个复杂的系统,需要多个类和函数来实现。以下是一个简单的银行系统的Python代码示例,其中包括管理员类、ATM类、人类、银行卡类和主函数。该系统可以实现用户登录、查询余额、取款、存款等功能。
```python
class Admin:
def __init__(self, name, password):
self.name = name
self.password = password
class ATM:
def __init__(self, admin):
self.admin = admin
self.users = {}
def login(self, card_num, password):
if card_num in self.users and self.users[card_num].password == password:
return self.users[card_num]
else:
return None
def check_balance(self, user):
return user.balance
def withdraw(self, user, amount):
if user.balance >= amount:
user.balance -= amount
return True
else:
return False
def deposit(self, user, amount):
user.balance += amount
return True
class Person:
def __init__(self, name, age, id_num):
self.name = name
self.age = age
self.id_num = id_num
class Card:
def __init__(self, card_num, password, person):
self.card_num = card_num
self.password = password
self.person = person
self.balance = 0
def main():
admin = Admin("admin", "123456")
atm = ATM(admin)
person1 = Person("张三", 20, "1234567890")
card1 = Card("111111", "123456", person1)
atm.users[card1.card_num] = card1
person2 = Person("李四", 25, "0987654321")
card2 = Card("222222", "654321", person2)
atm.users[card2.card_num] = card2
while True:
card_num = input("请输入银行卡号:")
password = input("请输入密码:")
user = atm.login(card_num, password)
if user:
while True:
choice = input("请选择操作:1.查询余额 2.取款 3.存款 4.退出")
if choice == "1":
print("余额为:", atm.check_balance(user))
elif choice == "2":
amount = int(input("请输入取款金额:"))
if atm.withdraw(user, amount):
print("取款成功")
else:
print("余额不足")
elif choice == "3":
amount = int(input("请输入存款金额:"))
atm.deposit(user, amount)
print("存款成功")
elif choice == "4":
break
else:
print("输入有误,请重新输入")
else:
print("卡号或密码错误,请重新输入")
if __name__ == "__main__":
main()
```