Python编写代码1、内容:综合应用Python程序设计知识,设计与实现一款简单的手机银行系统。具体功能要求可参考以下几点: (1)登录功能,使用学号和密码登录,密码连续输错三次则账号冻结; (2)具有账户查询功能:登记账
时间: 2024-03-14 11:49:44 浏览: 16
户,并实现账户余额查询、转账、存款、取款等操作; (3)具有交易记录查询功能:可以查询账户的交易记录,包括时间、交易类型、交易金额等信息。
以下是一个简单的手机银行系统的 Python 代码示例,包含登录、账户查询和交易记录查询三个功能:
```python
# 定义账户类
class Account:
def __init__(self, id, password, balance):
self.id = id
self.password = password
self.balance = balance
# 存款
def deposit(self, amount):
self.balance += amount
print('成功存款', amount, '元,当前余额为', self.balance, '元。')
# 取款
def withdraw(self, amount):
if self.balance >= amount:
self.balance -= amount
print('成功取款', amount, '元,当前余额为', self.balance, '元。')
else:
print('余额不足,取款失败。')
# 转账
def transfer(self, account, amount):
if self.balance >= amount:
self.balance -= amount
account.balance += amount
print('成功向账户', account.id, '转账', amount, '元,当前余额为', self.balance, '元。')
else:
print('余额不足,转账失败。')
# 定义银行类
class Bank:
def __init__(self):
self.accounts = []
self.login_id = None
self.login_password = None
self.login_attempts = 0
# 注册账户
def register(self, id, password, balance):
self.accounts.append(Account(id, password, balance))
print('成功注册账户', id, ',当前账户数量为', len(self.accounts), '。')
# 登录
def login(self, id, password):
for account in self.accounts:
if account.id == id:
if account.password == password:
self.login_id = id
self.login_password = password
self.login_attempts = 0
print('成功登录账户', id, '。')
return
else:
self.login_attempts += 1
if self.login_attempts >= 3:
print('密码错误次数超过3次,账户已被冻结。')
return
else:
print('密码错误,还有', 3 - self.login_attempts, '次机会。')
return
print('账户不存在。')
# 账户查询
def check_balance(self):
for account in self.accounts:
if account.id == self.login_id:
print('账户余额为', account.balance, '元。')
return
print('未登录或账户不存在。')
# 交易记录查询
def check_transactions(self):
for account in self.accounts:
if account.id == self.login_id:
print('交易记录如下:')
# TODO: 查询交易记录
return
print('未登录或账户不存在。')
# 测试代码
bank = Bank()
bank.register('123456', '123456', 1000)
bank.login('123456', '654321') # 密码错误
bank.login('123456', '123456') # 成功登录
bank.check_balance() # 账户余额为1000元
bank.check_transactions() # 暂无交易记录
account2 = Account('654321', '654321', 0)
bank.register(account2)
bank.login('654321', '654321')
bank.transfer(account2, 500) # 余额不足,转账失败。
bank.deposit(1000) # 成功存款1000元,当前余额为1000元。
bank.transfer(account2, 500) # 成功向账户654321转账500元,当前余额为500元。
bank.check_balance() # 账户余额为500元。
bank.check_transactions() # 暂无交易记录
```
上述代码只是一个简单的示例,具体的实现可能还需要根据实际情况进行调整和扩展。