python入门项目05:完成简单ATM操作

本次实验想完成简单ATM操作,包括菜单栏和简单存钱取钱,显示余额。
存在的问题:
1使用全局变量的时候,会报错
local variable ‘money’ referenced before assignment
解决方法,在函数里面声明一下为全局变量。

#功能:1存钱2取钱3计算余额4查看余额
#变量:1用户,2余额

money=15000
user_name='菜虚鲲'
####打印主菜单并接受进行的操作
print('-----------------主菜单---------------')
print(f'{user_name}你好,请问你要进行的操作是:')
print('存钱:请输入1')
print('取钱:请输入2')
print('推出:请输入3')
print('查看余额:请输入4')
n1=int(input('请输入你要进行的操作:'))

def cunqian(a1):
    global money
    money+=a1
    print('------------------存钱------------------')
    print(f'{user_name}您的余额是:{money}')
def chaxunyue():
    print('-------------------查询余额---------------')
    print(f'{user_name}您的余额是:{money}')
def quqian(a2):
    global money
    money += a2
    print('------------------存钱------------------')
    print(f'{user_name}您的余额是:{money}')
#通过按键的不同选择不同的条件:
if n1==1:
    print(f'{user_name},您好!')
    cun=int(input('请输入你要存的金额:'))
    cunqian(cun)
elif n1==2:
    print(f'{user_name},您好!')
    qu=int(input('请输入你要取的金额:'))
    quqian(qu)
elif n1==4:
    chaxunyue()
else:
    print('------------推出---------')
    print('请带好您的卡片')

1存钱:
在这里插入图片描述
简单实验了一下,发现,存完直接退出了,这个好像跟我们日常生活中的atm有点区别,功能还是很简陋啊。

另外,就是感觉这个代码很乱,我细想了一下,查询余额这部分,其实每一步都要用到,那是不是可以选择将一部分的print用函数嵌套来完成。

#功能:1存钱2取钱3计算余额4查看余额
#变量:1用户,2余额

money=15000
user_name='菜虚鲲'
####打印主菜单并接受进行的操作
print('-----------------主菜单---------------')
print(f'{user_name}你好,请问你要进行的操作是:')
print('存钱:请输入1')
print('取钱:请输入2')
print('推出:请输入3')
print('查看余额:请输入4')
n1=int(input('请输入你要进行的操作:'))


#查询余额
def chaxunyue(show_header):
    if show_header:
        print('-------------------查询余额---------------')
    print(f'{user_name}您的余额是:{money}')

 #存钱
def cunqian(a1):
    global money
    money+=a1
    print('------------------存钱------------------')
    chaxunyue(False)
 #取钱
def quqian(a2):
    global money
    money += a2
    print('------------------存钱------------------')
    chaxunyue(False)
#通过按键的不同选择不同的条件:
if n1==1:
    print(f'{user_name},您好!')
    cun=int(input('请输入你要存的金额:'))
    cunqian(cun)
elif n1==2:
    print(f'{user_name},您好!')
    qu=int(input('请输入你要取的金额:'))
    quqian(qu)
elif n1==4:
    chaxunyue(True)
else:
    print('------------推出---------')
    print('请带好您的卡片')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现取钱还变多了,原来是取钱的时候写成了+=,尴尬。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值