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存钱:
python入门项目05:完成简单ATM操作_第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('请带好您的卡片')

python入门项目05:完成简单ATM操作_第2张图片
python入门项目05:完成简单ATM操作_第3张图片
python入门项目05:完成简单ATM操作_第4张图片
发现取钱还变多了,原来是取钱的时候写成了+=,尴尬。

你可能感兴趣的:(python入门项目,python,开发语言)