用python写atm自动取款_python ATM机 案例代码

'''

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 = 0

while 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值