用Python编写银行系统
时间: 2024-02-16 13:57:15 浏览: 25
以下是一个简单的Python银行系统的示例代码,包括开户、查询、存款、取款、转账、改密、冻结、解冻、补卡和销户等功能:
```python
class Bank:
def __init__(self, name, balance=0):
self.name = name
self.balance = balance
self.status = 'active'
def deposit(self, amount):
if self.status == 'active':
self.balance += amount
print(f'Deposit successful. Current balance: {self.balance}')
else:
print('Your account is frozen. Please contact customer service.')
def withdraw(self, amount):
if self.status == 'active':
if amount > self.balance:
print('Insufficient balance.')
else:
self.balance -= amount
print(f'Withdrawal successful. Current balance: {self.balance}')
else:
print('Your account is frozen. Please contact customer service.')
def transfer(self, amount, recipient):
if self.status == 'active':
if amount > self.balance:
print('Insufficient balance.')
else:
self.balance -= amount
recipient.balance += amount
print(f'Transfer successful. Current balance: {self.balance}')
else:
print('Your account is frozen. Please contact customer service.')
def freeze(self):
self.status = 'frozen'
print('Your account has been frozen.')
def unfreeze(self):
self.status = 'active'
print('Your account has been unfrozen.')
def change_password(self, new_password):
self.password = new_password
print('Password changed successfully.')
def close_account(self):
self.status = 'closed'
print('Your account has been closed.')
def __str__(self):
return f'Account name: {self.name}\nBalance: {self.balance}\nStatus: {self.status}'
# 示例代码
account1 = Bank('Alice', 1000)
account2 = Bank('Bob', 500)
account1.deposit(500)
account1.withdraw(200)
account1.transfer(300, account2)
print(account1)
print(account2)
```