编辑代码

import sys

user_list =[{'user':'','password':'','balance':0},]

def register():
    print('欢迎注册')
    print('请输入用户名:')
    user=input()
    for name in user_list:
        if name['user'] == user:
            print('该用户名已注册,请重新输入!')
            user=input()
    
    while 1:
        print('请输入密码(密码长度要大于等于6位):')
        password=input()
        if len(password) < 6:
            print('密码长度不符合要求,请重新输入:')
        else:
            balance=0
            print('注册成功!')
            print('奖励3000元!')
            balance += 3000
            account={'user':user,'password':password,'balance':balance}
            user_list.append(account)
            menu()
            
def login():
    flag=1
    while flag:
        print('请输入用户名:')
        user=input()
        print('请输入密码:')
        password=input()

        for account in user_list:
            if account['user']==user:
                if account['password']==password:
                    print('用户名和密码正确,登录成功!')
                    flag = 0
                    break
        else:
            print('用户名或密码错误,请重新输入...')
        
    zhuJiemian()

def balance():
    while 1:
        print('请输入用户名:')
        user=input()
        for account in user_list:
            if user==account['user']:
                print('账户余额:',account['balance'])
                zhuJiemian()
        else:
            print('用户名输入错误,请重试')


def deposit():
    while 1:
        print('请输入用户名:')
        user=input()
        for account in user_list:
            if user==account['user']:
                print('账户余额:',account['balance'])
                print('请输入存款金额:')
                money=int(input())
                account['balance'] += money
                print('当前账户余额:',account['balance'])
                zhuJiemian()
        else:
            print('用户名输入错误,请重试')
    
def withdrawMoney():
    while 1:
        print('请输入用户名:')
        user=input()
        for account in user_list:
            if user==account['user']:
                print('账户余额:',account['balance'])
                print('请输入取款金额:')
                money=int(input())
                if money < account['balance']:
                    account['balance'] -= money
                    print('当前账户余额:',account['balance'])
                    zhuJiemian()
                else:
                    print('账户余额不足,请重试!')
                    print('请输入取款金额:')
                    money=int(input())
        else:
            print('用户名输入错误,请重试')

def transfer():
    while 1:
        print('请输入用户名:')
        user=input()
        for account in user_list:
            if user==account['user']:
                print('当前账户余额',account['balance'])
                while 1:
                    print('请输入被转账用户的用户名:')
                    user2 =input()
                    if user2 ==user:
                        print('不能给自己转账!')
                    else:
                        for account2 in user_list:
                            if user2 in account2.values(): 
                                while 1:
                                    print('请输入转账金额:')
                                    money=int(input())
                                    if money < account['balance']:
                                        account['balance'] -= money
                                        account2['balance'] += money
                                        print('当前账户余额:',account['balance'])
                                        
                                        zhuJiemian()
                                    else:
                                        print('账户余额不足,请重试!') 
                        else:
                            print('该用户不存在,请重试')
                           
                
                # while 1:
                #     print('请输入转账金额:')
                #     money=int(input())
                #     if money < account['balance']:
                #         account['balance'] -= money
                #         account2['balance'] += money
                #         print('当前账户余额:',account['balance'])
                        
                #         zhuJiemian()
                #     else:
                #         print('账户余额不足,请重试!')

        else:
            print('用户名输入错误,请重试')



def exit():
    print('正在退出ATM系统...')
    sys.exit()

def menu():
    while 1:
        print('**********欢迎来到WoniuATM**********')
        print('************请选择操作菜单***********')
        print('*********1.注册 2.登录 3.退卡********')
        function = input()
        if function == '1':
            register()
        elif function == '2':
            login()
        elif function =='3':
            exit()
        else:
            print('输入错误,请重新输入!')

def zhuJiemian():
    while 1:
        print('**********欢迎来到WoniuATM**********')
        print('************请选择操作菜单***********')
        print('**1.余额 2.存款 3.取款 4.转账 5.退卡 **')
        function = input()
        if function == '1':
            balance()
        elif function == '2':
            deposit()
        elif function == '3':
            withdrawMoney()
        elif function == '4':
            transfer()
        elif function == '5':
            exit()
        else:
            print('输入错误,请重新输入!')

menu()