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,一处为用户输入错误用户名或密码后会报错并自动跳出程序,另一处为退出命令不能执行,程序不能退出。问题还没解决,望谅解。