Python练习 简单自动存取款机

Python练习 简单自动存取款机

代码和注释如下:

# @File    : 新自动取款机.py
# @Author  : zh
# @Date    : 2020/2/5
# @Software: PyCharm
'''

该项目实现个4功能分别是1.用户的登录功能
                     2.余额查询功能
                     3.存款功能
                     4.取款功能

我的思路:实现该程序应把4个功能先封装成4个函数,然后在主界面中分别调用

'''
# 用户数据源
User = [{'User_Name':'zhangsan','Password':'111111','balance':1000},
        {'User_Name':'lisi','Password':'222222','balance':2000},
        {'User_Name':'wangwu','Password':'333333','balance':3000},
        {'User_Name':'zhaoliu','Password':'444444','balance':4000}]

# 用户登录函数
def Login(sName,sPassword):
    global User
    for User_Id in range(len(User)):
        if sName ==User[User_Id]['User_Name']:
            if sPassword == User[User_Id]['Password']:
                print('欢迎进入')
                return User_Id

# 余额查询函数
def Account_Balance(User_Id):
    global User
    print('您的余额为{}元'.format(User[User_Id]['balance']))

# 存款函数
def Deposit_Money(User_Id):
    global User
    Money = input('请输入您想存入的金额:')
    User[User_Id]['balance']  = int(Money)
    print('您已存款{}元,余额为{}元'.format(Money, User[User_Id]['balance']))

# 取款函数
def withdraw_Money(User_Id):
    global User
    Money = input('请输入您想取出的金额:')
    User[User_Id]['balance'] -= int(Money)
    if User[User_Id]['balance'] >= 0:
        print('您取款{}元,余额为{}元'.format(Money, User[User_Id]['balance']))
    if User[User_Id]['balance'] < 0:
        print('余额不足')
        User[User_Id]['balance']  = int(Money)

# 主界面
while True:
    print('=' * 20, '欢迎光临自动取款机', '=' * 20)
    sName = input('请输入您的用户名:')
    sPassword = input('请输入您的六位密码:')
    User_Id = Login(sName, sPassword)
    if User_Id < 0:
        continue
    while True:
        print('=' * 23, '请选择业务', '=' * 23)
        print("{0:1} {1:13} {2:15}".format(" ", "1. 余额查询", "2. 存款"))
        print("{0:1} {1:15} {2:15}".format(" ", "3. 取款", "4. 退出程序"))
        print("=" * 56)
        key = input('请输入业务编号:')
        if key == '1':
            print('=' * 23, '余额查询', '=' * 23)
            Account_Balance(User_Id)
            input('按回车键继续')
        elif key == '2':
            print('=' * 24, '存款', '=' * 24)
            Deposit_Money(User_Id)
            input('按回车键继续')
        elif key == '3':
            print('=' * 24, '取款', '=' * 24)
            withdraw_Money(User_Id)
            input('按回车键继续')
        elif key == '4':
            print('=' * 23, '退出程序', '=' * 23)
            print('=' * 22, '欢迎下次使用', '=' * 22)
            break
        else:
            print("=" * 23, "输入无效", "=" * 23)
            input('按回车键继续')

该代码有两处bug,一处为用户输入错误用户名或密码后会报错并自动跳出程序,另一处为退出命令不能执行,程序不能退出。问题还没解决,望谅解。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值