• python之ATM机存取款转账脚本


    #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() #打印流水
  • 相关阅读:
    02矩阵01 —— 基本矩阵 : 对角矩阵、方幂、数量矩阵、转置矩阵、对称矩阵、逆矩阵、奇异矩阵、三角矩阵
    Python爬虫:设置随机 User-Agent
    IDA Script
    《凤凰架构》读书笔记 —— 本地事务如何实现隔离性?
    【Mybatis源码】XMLConfigBuilder构建器 - 读取XML配置初始化Configuration对象
    git的详细使用
    【数据结构】七大排序
    网络安全(黑客)自学
    复习集合Collection、自定义数组、链表源码分析和实现
    电脑数据恢复软件分享,需要的快收藏
  • 原文地址:https://blog.csdn.net/liuaoxiang/article/details/126416459