python实现简易ATM
admin
2023-03-17 13:41:12
0

环境: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

运行结果:

python实现简易ATM

python实现简易ATM





python实现简易ATM

相关内容

热门资讯

ICC逮捕令致内塔尼亚胡出行受... 【环球网报道】据以色列《新消息报》网站26日报道,由于国际刑事法院(ICC)2024年就以色列在巴勒...
“罗永浩怒斥电视机厂商”戳中了... 7月25日晚,罗永浩发文怒斥当下电视机的产品设计。据都市快报报道,罗永浩表示,他为家中老人换了两次电...
各地各部门坚持人民至上筑牢防汛... 新华社北京7月25日电 题:风雨同舟映初心——各地各部门坚持人民至上筑牢防汛抗洪坚实堤坝新华社记者当...
法院回应LV起诉地产开发商 7月26日,厦门市湖里区人民法院发布情况通报,网传案情“路易威登公司起诉地产开发商,因楼盘外立面四叶...
携程的问题不仅在于垄断,更在于... 国内平台科技企业一般都是通过向B端收费、抽佣获利,尽量给消费者创造一个比较清爽的使用环境。携程算是最...
海信电视用遥控器关闭后打不开 原因可能是遥控器的电池没有装好或者是没电了,需要重新安装一下电池或者更换新的电池试一试;原因可能是电...
电视机突然没电源打不开了 有可能是电视开关的电源线断了;可能是电视在使用时短路;可能是电源插头插座松动;可能是电视内部零件接触...
电热水器下面那个小龙头漏水是怎... 电热水器下面那个小龙头漏水是怎么回事?1、因为安全阀发生了故障或者是已经被损坏了,就会有漏水的现象;...
回答下电脑桌面一片空白怎么恢复 电脑桌面上如果是一片空白,那说明您的电脑图标被隐藏了,想要恢复就要按照如下的三个步骤去操作才行。 第...
澳总理要找特朗普“理论”关税:... 当地时间7月26日,澳大利亚总理阿尔巴尼斯表示,他将直接向美国总统特朗普提出抗议,反对美国新近宣布的...