博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python ATM机 案例代码
阅读量:6036 次
发布时间:2019-06-20

本文共 2878 字,大约阅读时间需要 9 分钟。

利用目前学的流程控制写的

'''ATM机需求:1.登陆    输入账号输入密码    每日只有3次登陆密码错误的机会,超过3次禁止登陆2.查询余额3.存款4.取款5.转帐6.退出'''infos = [    {'name':'jack','pwd':'123','yue':0},    {'name':'bran','pwd':'123','yue':0},    {'name':'egon','pwd':'123','yue':0},]# 禁止登陆ban = False# 登陆状态login_state = False# 账号密码错误次数login_num = 0# 菜单 choice choice = 0# 输入的用户名name = ''# 输入的密码pwd = ''# 余额yue = 0while ban == False:    # 登陆    while login_state == False:        # 登陆        name = input('请输入账号:')        pwd = input('请输入密码:')        # 查询账号密码是否正确        for info in infos:            if name == info['name'] and pwd == info['pwd']:                print('登陆成功!')                login_state = True                yue = info['yue']                break        # 如果没有账号密码不正确则 运行下面的代码        if login_state == False:            login_num += 1            print('账号密码错误!请重新输入!剩余次数 %s' % (3 - login_num))            if login_num == 3:                print('今日登陆错误次数超限,请明日再来')                ban = True                break    # 打印菜单    if login_state == True and choice == 0:        print('''        1 查询        2 存款        3 转帐        4 取款        5 退出        ''')        choice = int(input('请输入操作状态:'))                    # 查询    if login_state == True and choice == 1:        print('%s 账户的余额为 %s ¥' % (name,yue))        choice = 0        # 存款    if login_state == True and choice == 2:        money = int(input('请输入你的金额:'))        for info in infos:            if name == info['name']:                info['yue'] += money                yue += money                print('%s 账户存入 %s ¥' % (name,money))        choice = 0    # 转帐:    if login_state == True and choice == 3:        to_state = 0 # 1:成功 2:余额不足        to_num = 0        while to_state == 0:            to_name = input('请输入转入的用户名:')            # 判断 用户是否存在            for info in infos:                if to_name == info['name']:                    money = int(input('请输入转帐的金额:'))                    # 判断自己账户的金额是否足够                    if yue >= money:                        info['yue'] += money                        yue -= money                        print('你给 %s 用户成功转入 %s ¥'%(to_name,money))                        to_state = 1                        break                    else:                        print('你的余额不足,请充值后再转帐')                        to_state = 2            if to_state == 1:                break            elif to_state == 2:                break            else:                to_num += 1                print('你输入的用户不存在,请重新输入:')        choice = 0            # 取款    if login_state == True and choice == 4:        money = int(input('请输入你的取款金额:'))        # 判断输入的金额是否小于等于余额        if money <= yue:            print('请再出钞口取钞票吧!')            yue -= money            choice = 0        else:            print('你输入的金额大于你的余额,无法取款!')    # 退出    if login_state == True and choice == 5:        break

转载于:https://www.cnblogs.com/bran-note/p/10573802.html

你可能感兴趣的文章
linux hash_map的使用(g++)
查看>>
批量创建AD用户
查看>>
将windows 8安装到U盘随身带!
查看>>
centos 7 修改默认运行级别
查看>>
VMware中装Win2012并配置Hyper-v
查看>>
zabbix故障:apache源码和页面上的php红色提示
查看>>
linux基础概念和个人笔记总结(6)
查看>>
CentOS 5.6创建NFS文件共享服务器
查看>>
RHCS+Conga+GFS+cLVM共享存储的高可用性web集群
查看>>
Git:常用操作
查看>>
ABP学习日记1
查看>>
python----文件读写
查看>>
Statement对象
查看>>
[转].NET 数字格式化:忽略末尾零
查看>>
计算硬盘分区使用的大小
查看>>
我的友情链接
查看>>
oracle 中带双下划线的参数如(*.__shared_pool_size=)
查看>>
nginx添加系统服务
查看>>
jQuery在IE7和8下setInterval失效的问题
查看>>
谁再问我--分流好 还是 汇聚好。我拍死他!
查看>>