#1.用户注册 def register(): uname = input('输入用户名[注册]:') password = input('输入密码[注册]:') yue = 1000 isok = True for us in users: if uname == us[0]: print('用户名已存在') isok = False break if isok == True: users.append([uname, password, yue, []]) print(f'恭喜注册成功\n{users}') #2.用户登录 def login(): uname = input('输入用户名[登录]:') password = input('输入密码[登录]:') isok = False # 定义False为未登录状态 global ix # 定义-1未一个不存在的索引号,便于后续在列表中搜索元素 for i in range(0, len(users)): if uname == users[i][0] and password == users[i][1]: print('登录成功') isok = True ix = i break if isok == True: print(f'恭喜{users[ix][0]}登录蜗牛银行'.center(40, '=')) service() else: print('登录失败,账户或密码错误') #3.查看余额 def balance(): print(f'用户<<{users[ix][0]}>>的余额为:{users[ix][2]}元') #6.取款 def withdraw(): money = int(input('请输入取款金额:')) if money > users[ix][2]: print(f'余额不足,当前余额{users[ix][2]}元') print('请选择业务菜单'.center(40, '=')) else: users[ix][2] = users[ix][2] - money today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S') print(f'取款{money}元,当前余额:{users[ix][2]}元,{today}') users[ix][3].append(f'{today},取款{money}元') #4.存款 def save(): money = int(input('请输入存款金额:')) users[ix][2] = users[ix][2] + money today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S') print(f'存款{money}元,当前余额:{users[0][2]}元,{today}') users[ix][3].append(f'{today},存款{money}元') #5.转帐 def transfer(): uname = input('请输入需要转账的用户名:') isok = True for n in range(len(users)): if uname == users[n][0] and uname != users[ix][0]: money = int(input('请输入需要转账的金额:')) password = input('请输入转账密码:') if money > int(users[ix][2]) and password == users[ix][1]: # 判断转账金额小于余额 print('转账金额大于账户余额,转账失败') elif money <= int(users[ix][2]) and password == users[ix][1]: # 判断转账金额大于余额 today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S') print(f'转账成功,{users[ix][0]}账户支出{money}元,当前账户余额为{users[ix][2] - money}元,{today}') print(f'收款成功,{users[n][0]}账户收款{money}元,当前账户余额为{users[n][2]+money}元,{today}') users[ix][3].append(f'{today},向{uname}转账{money}元') users[n][3].append(f'{today},{users[ix][0]}向你转账{money}元') else: print('转账密码错误,请重新输入') isok = True break else: print('用户不存在,请重新输入') #6.打印流水 def stream(): uname = input('请输入用户名:') password = input('请输入密码:') if uname == users[ix][0] and password == users[ix][1]: today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S') print(f'{today},流水情况如下:\n{users[ix][3]}') else: print('账户密码错误,请重新输入') import datetime users=[ ["小张","111",3000,['2022-06-24 15:16:00 取款500元','2022-06-24 18:01 存取1000元']] ,["小刘","222",2000,[]]] ix=-1 #1.开始界面 def start(): print('欢迎来到蜗牛ATM'.center(40, '*')) while True: print('请选择操作菜单'.center(40, '*')) print('1.登录\t2.注册\t3.退卡'.center(36, '*')) num = int(input('请输入你的操作选项:')) if num == 1: print('用户登录'.center(40, '-')) login() elif num == 2: print('用户注册'.center(40, '-')) register() elif num == 3: print('请收好卡片,欢迎下次使用') break else: print('输入无效,请重新选择') #2.业务界面 def service(): while True: print('请选择业务菜单'.center(40, '=')) print(f'1.查余额\t2.存款\t3.取款\t4.转账\t5.查看流水\t6.返回') num1=int(input('请输入业务编号:')) if num1 == 1: print('1.查余额'.center(40, '-')) balance() elif num1 == 2: print('2.存款'.center(40, '-')) save() elif num1 == 3: print('3.取款'.center(40, '-')) withdraw() elif num1 == 4: print('4.转账'.center(40, '-')) transfer() elif num1 == 5: print('5.查看流水'.center(40, '-')) stream() elif num1 == 6: print('6.返回'.center(40, '-')) break else: print('输入无效,请重新选择') if __name__ == '__main__': start() #开始界面 # service() #业务界面 # register() #用户注册 # login() #用户登录 # balance() #查看余额 # withdraw() #取款 # save() #存款 # transfer() #转账 # stream() #打印流水
python之ATM机存取款转账脚本
最新推荐文章于 2024-03-21 12:51:33 发布