用python写atm自动取款_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

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值