前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实现简易ATM

python实现简易ATM

作者头像
py3study
发布2020-01-08 18:17:14
5440
发布2020-01-08 18:17:14
举报
文章被收录于专栏:python3python3

环境:python2.7

可以进一步完善

代码语言:javascript
复制
# -*- 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

运行结果:

wKioL1lwNbPyBqEWAAA4Dt0ErQc872.png
wKioL1lwNbPyBqEWAAA4Dt0ErQc872.png
wKiom1lwNbOirqIBAAAqfMfLYZ8181.png
wKiom1lwNbOirqIBAAAqfMfLYZ8181.png

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档