python实现简易ATM
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现简易ATM相关的知识,希望对你有一定的参考价值。
环境:python2.7
可以进一步完善
# -*- coding: utf-8 -*- print u"+========================================+" print u"+=============2017年7月20日==============+" print u"+==============作者:天道酬勤============+" print u"+========================================+" user_name = "C:\Users\95112\Desktop\ATM\username" #定义用户名和密码的位置 goods = "C:\Users\95112\Desktop\ATM\goods" #定义商品列表的的位置 salary = 0 #登录 def login(): global a global salary username=[] password=[] money =[] f = file(user_name) for line in f.readlines(): new_line = line.split() username.append(int(new_line[0])) password.append(int(new_line[1])) money.append(int(new_line[2])) UserName = int(raw_input("please input your username:")) if UserName in username: PassWord = int(raw_input("please input your password:")) username_passwd = password[username.index(UserName)] #取出username相对应的密码 salary = money[username.index(UserName)] #取出账户中相对应的钱 if PassWord == username_passwd: a = 1 #登录成功的标志 print "Login successful" print "You still have %s of the balance" % money else: a = 0 print "password error" else: a = 0 print "your username error" return a return salary #购物 def shopping(): global salary products=[] price=[] shop_list= [] f = file(goods) for line in f.readlines(): new_line = line.split() products.append(new_line[0]) price.append(int(new_line[1])) while 1: print u‘请从以下商品中挑选一个或者几个购买:‘ print products for i in range(0,len(products)): if (salary>=price[i]): print products[i],price[i] print "+---------------------------------+" print u"输入exit可以退出购买" choice = raw_input("please choice a shop to buy:") F_choice = choice.strip()#去除空格,格式化输出。 #退出循环 if F_choice == "exit": break if F_choice in products: product_price = price[products.index(F_choice)] #取出产品价格 print "+---------------------------------+" print u"你要购买的商品以及价格:",F_choice,product_price print u"商品正在加入购物列表,请稍等" if salary > product_price: shop_list.append(F_choice) salary = salary - product_price print "+---------------------------------+" print u"你已经成功购买了%s" % F_choice print u"你的余额还有:", salary print u"你已经购买的商品有:", shop_list print "+---------------------------------+" else: pass else: print u"你输入的商品不在商品列表里,请重新输入!" return salary #转账或者提现 def Transfer_accounts(): global salary print u"每次转账和提现收取百分之5的服务费." inputs = int(raw_input("please input you should how much money:")) SS = inputs*0.05 zong = inputs + SS if ( salary < zong or salary < inputs): print u"余额不足" else: salary = salary - zong print "+------------------------------+" print u"成功转账%s" % inputs print u"扣除手续费%s" % SS print "+------------------------------+" return salary #查询余额 def check_the_balance(): global salary print "+---------------------------+" print u"你的金额还有%s" % salary print "+---------------------------+" #菜单 def menu(): print u"""Welcome to use ATM automatic teller machine If the machine failure please contact ATM\t """ while True: print u"\t(1) 购物" print u"\t(2) 转账" print u"\t(3) 查询余额" print u"\t(4) 退出" choices = raw_input("Please choices:").strip() if len(choices) == 0: continue if choices == ‘1‘: shopping() elif choices == ‘2‘: Transfer_accounts() elif choices == ‘3‘: check_the_balance() else: print "Please pay attention to the property security" exit() if __name__ == ‘__main__‘: login() if a == 1: menu() else: pass
运行结果:
本文出自 “天道酬勤” 博客,请务必保留此出处http://taindaochouqin.blog.51cto.com/12995943/1949266
以上是关于python实现简易ATM的主要内容,如果未能解决你的问题,请参考以下文章