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
运行结果:
相关文章