python实现atm机的部分功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现atm机的部分功能相关的知识,希望对你有一定的参考价值。

环境:python2.7

缺陷:钱不变,待完善


# -*- coding: utf-8 -*-
user_name = "C:\Users\95112\Desktop\ATM\username" #定义用户名和密码的位置
goods     = "C:\Users\95112\Desktop\ATM\goods"  #定义商品列表的的位置

#登录
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(salary):
	global s
	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(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 < input):
		print u"余额不足"
	else:
		salary = salary - zong
	return salary

#菜单
def menu(salary):
    print u"""Welcome to use ATM automatic teller machine
            If the machine failure please contact ATM\t """
    while True:
    	print "\t(1) shop"
    	print "\t(2) Transfer accounts"
    	print "\t(3) quit"
        choices = raw_input("Please choices:").strip()
        if len(choices) == 0:
        	continue
        if choices == ‘1‘:
        	shopping(salary)
    	elif choices == ‘2‘:
    		Transfer_accounts(salary)
        else:
            print "Please pay attention to the property security"
            exit()


if __name__ == ‘__main__‘:
	login()
	if a == 1:
		menu(salary)
	else:
		pass

技术分享

本文出自 “天道酬勤” 博客,请务必保留此出处http://taindaochouqin.blog.51cto.com/12995943/1949133

以上是关于python实现atm机的部分功能的主要内容,如果未能解决你的问题,请参考以下文章

python实现购物车+ATM机 部分功能

一个用java模拟ATM机的代码且数据库为mysql,

python ATM + 购物车

文件及输入输出流模拟ATM机

ATM机的代码(作业)

python学习之ATM功能实现