import xlwt import xlrd import random

class Account: def init(self, name, balance=0): self.name = name self.balance = balance self.status = 'normal' self.account_number = str(random.randint(1000000000000000, 9999999999999999)) self.password = str(random.randint(1000, 9999))

def deposit(self, amount):
    self.balance += amount

def withdraw(self, amount):
    if self.balance < amount:
        print('余额不足')
    else:
        self.balance -= amount

def query_balance(self):
    print('你的余额是', self.balance)

def lose_card(self):
    self.status = 'lost'

def find_card(self):
    self.status = 'normal'

def close_account(self):
    self.status = 'closed'

def login(self, account_number, password):
    if self.account_number == account_number and self.password == password:
        return True
    else:
        return False

def write_to_excel(accounts): workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('account') worksheet.write(0, 0, '账号') worksheet.write(0, 1, '姓名') worksheet.write(0, 2, '余额') worksheet.write(0, 3, '状态') row = 1 for account in accounts: worksheet.write(row, 0, account.account_number) worksheet.write(row, 1, account.name) worksheet.write(row, 2, account.balance) worksheet.write(row, 3, account.status) row += 1 workbook.save('account.xls')

def read_from_excel(): accounts = [] try: workbook = xlrd.open_workbook('account.xls') worksheet = workbook.sheet_by_name('account') for row in range(1, worksheet.nrows): account_number = worksheet.cell_value(row, 0) name = worksheet.cell_value(row, 1) balance = worksheet.cell_value(row, 2) status = worksheet.cell_value(row, 3) account = Account(name, balance) account.status = status account.account_number = account_number accounts.append(account) except: pass return accounts

def main(): accounts = read_from_excel() while True: print('欢迎来到银行') print('1. 开立账户') print('2. 存款') print('3. 取款') print('4. 查询余额') print('5. 挂失') print('6. 取消挂失') print('7. 销户') print('8. 退出') choice = input('请输入您的选择: ') if choice == '1': name = input('请输入您的姓名: ') account = Account(name) accounts.append(account) write_to_excel(accounts) print('您的账户已开通') print('您的账号是', account.account_number) print('您的密码是', account.password) elif choice == '2': account_number = input('请输入账号: ') password = input('请输入密码: ') account = None for acc in accounts: if acc.account_number == account_number: account = acc break if account: if account.login(account_number, password): amount = int(input('输入要存入的金额: ')) account.deposit(amount) write_to_excel(accounts) print('您的存款已成功存入') else: print('账号或密码错误') else: print('账户不存在') elif choice == '3': account_number = input('请输入账号: ') password = input('请输入密码: ') account = None for acc in accounts: if acc.account_number == account_number: account = acc break if account: if account.login(account_number, password): amount = int(input('请输入提取的金额: ')) account.withdraw(amount) write_to_excel(accounts) print('您的取款成功了') else: print('账号或密码错误') else: print('账户不存在') elif choice == '4': account_number = input('请输入账号: ') password = input('请输入密码: ') account = None for acc in accounts: if acc.account_number == account_number: account = acc break if account: if account.login(account_number, password): account.query_balance() else: print('账号或密码错误') else: print('账户不存在') elif choice == '5': account_number = input('请输入账号: ') password = input('请输入密码: ') account = None for acc in accounts: if acc.account_number == account_number: account = acc break if account: if account.login(account_number, password): account.lose_card() write_to_excel(accounts) print('您的卡片已丢失') else: print('账号或密码错误') else: print('账户不存在') elif choice == '6': account_number = input('请输入账号: ') password = input('请输入密码: ') account = None for acc in accounts: if acc.account_number == account_number: account = acc break if account: if account.login(account_number, password): account.find_card() write_to_excel(accounts) print('您的卡片已找到') else: print('账号或密码错误') else: print('账户不存在') elif choice == '7': account_number = input('请输入账号: ') password = input('请输入密码: ') account = None for acc in accounts: if acc.account_number == account_number: account = acc break if account: if account.login(account_number, password): account.close_account() accounts.remove(account) write_to_excel(accounts) print('您的帐户已关闭') else: print('账号或密码错误') else: print('账户不存在') elif choice == '8': break else: print('无效的选择')

if name == 'main': main(

import xlwtimport xlrdclass Account def __init__self name balance=0 selfname = name selfbalance = balance selfstatus = normal def depositself amount selfbalance += am

原文地址: https://www.cveoy.top/t/topic/hp5G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录