python ATM大作业之alex思路
一 ATM
alex想了一个思路,就是定义一个函数,这个函数可以实现所有的atm的功能:取款,转账,消费等等。
为了实现这个想法,alex构建了一个两级字典,厉害了。我发现,厉害的人都喜欢用字典。这里还是嵌套字典。一个优点是字典取值很简单,不用循环遍历。而且可以直接成员运算 in or not in,也是可以很容易实现的。
alex设计的字典是这样的格式:
atm_dic={ 'drawmoney':{'action':'plus','interest':0}, 'trans':{'action':'minus','interest':0.05}, 'replay':{'action':'minus','interest':0.05}, 'consume':{'action':'minus','interest':00} }
这个字典一出来,剩下是代码就随心所欲了。
比如说,我是这样写的。简单写了一下。
print(''' 1: 取款 2:转账 3:付款 4:消费 ''') cmd_dic={ '1':'drawmoney', '2':'trans', '3':'replay', '4':'consume', } while True: cmd=input('请选择项目:') if cmd not in cmd_dic: continue action=atm_dic[cmd_dic[cmd]]['action'] interest=atm_dic[cmd_dic[cmd]]['interest'] print(action,interest) balance=10000 num=10000 interest=num*interest if action=='plus': balance=balance+interest+num else: balance=balance-interest-num print(balance)
精髓就是alex的思路。这个字典一出来,代码实现起来就很easy了。