参考文档:http://467754239.blog.51cto.com/4878013/1572203
简单的Python购物流程
此脚本能够实现的实现的功能: 1、通过用户名和密码认证才能登陆购物系统,否者拒绝。 2、认证通过后,用户需要输入工资后会打印一个购物列表,列表中有可以购买的物品。 3、用户可以用自已的工资买购物列表中的物品,前提是自已的工资承受的起,如果承受不起,退出。 4、购买的物品可以加入购物车,也可以从购物车删除。 5、确定购买物品结束后,就可以结算购买物品的总消费金额,然后退出整个系统 此脚本用到python的知识点: 1、流程控制:if | for | while True 2、文件的读取 3、列表的增加和删除 4、列表综合 5、模块 6、切片 7、索引 ......
一、Python购物流程脚本
[root@localhost]# cat shop.py
#!/usr/bin/env python
# Filename:shop.py
import sys
userfile = open(r'user.txt').readlines()
listpass = [i.strip('\n') for i in userfile]
username1 = listpass[0::2]
password1 = listpass[1::2]
while True:
user = raw_input("please input your username:")
if len(user) == 0:
print "empty user,try again."
continue
elif user in username1:
user_num = username1.index(user)
user_pas = password1[user_num]
break
elif user == "q" or user == "quit" or user == "exit":
print "Welcome to come again next time"
sys.exit()
else:
print "%s is not exists,please try again input your name" %(user)
continue
while True:
passwdd = raw_input("please your password:")
if len(passwdd) == 0:
print "Sorry , input your password error , please try again."
#elif passwdd in password1:
elif passwdd == user_pas:
print "\n" + "Welcome to %s login shoppings:" %(user)
break
else:
print "password is Error,please try again."
while True:
try:
salary = int(raw_input("please input your salary:"))
break
except ValueError:
print "please input a number,not string."
file = open('shoplist.txt','r')
for fr in file:
fr = fr.rstrip()
print fr
file.close()
print """Options and arguments:
input "D" : Delete from shoplist into del
input "F" : Return to the total pages
input "T" : Total shoplist"""
products = []
prices = []
file2 = open('shoplist.txt')
fr2 = file2.readlines()
for line in fr2:
p1 = line.split()[0]
p2 = int(line.split()[1])
products.append(p1)
prices.append(p2)
prices = prices
list00 = []
while True:
choose = raw_input("please choose your buy things:")
if choose in products:
product_num = products.index(choose)
product_price = prices[product_num]
if salary >= product_price:
print "%s $%d" %(choose,product_price)
list00.append(choose)
print "Add %s into your shoplist" %(choose)
print "You choose to purchase the commodity list:",list00
salary = salary - product_price
else:
if salary < min(prices):
print "Sorry , reset of your salary cannot buy anythings."
sys.exit()
elif choose == "T":
print "salary left :$%s" %(salary)
print "You choose to purchase the commodity list:",list00
sys.exit()
elif choose == "D":
while True:
delchoose = raw_input("your will things remove from into shoplist:")
if delchoose in products:
product_num2 = products.index(delchoose)
product_price2 = prices[product_num2]
salary = salary + product_price2
list00.remove(delchoose)
print list00
print salary
break
二、脚本测试
[root@localhost]# python shop.py
please input your username:admin #输入错误的用户名,则登陆失败
admin is not exists,please try again input your name
please input your username:xiaoming #输入正确的用户名后,可以继续输入密码
please your password:000 #密码输入错误后,尝试继续在次输入
password is Error,please try again.
please your password:111 #密码输入正确后,可以继续下一步操作
Welcome to admin login shoppings:
please input your salary:20000 #输入工资,打印购物列表
Iphone 6000
MacBook 11000
IPad 3000
MacMini 4000
Watch 3500
Options and arguments:
input "D" : Delete from shoplist into del
input "F" : Return to the total pages
input "T" : Total shoplist
please choose your buy things:Iphone #选择想要购买的物品1,并加入到购物车
Iphone $6000
Add Iphone into your shoplist
You choose to purchase the commodity list: ['Iphone'] #已经成功加入到购物车
please choose your buy things:Watch #继续选择想要购买的物品,并加入到购物车
Watch $3500
Add Watch into your shoplist
You choose to purchase the commodity list: ['Iphone', 'Watch'] #已经成功加入到购物车
please choose your buy things:IPad #继续选择想要购买的物品,并加入到购物车
IPad $3000
Add IPad into your shoplist
You choose to purchase the commodity list: ['Iphone', 'Watch', 'IPad']
please choose your buy things:D #如果此时感觉不想买Bike了,可以从购物车将其删除
your will things remove from into shoplist:IPad #删除购物车的物品
['Iphone', 'Watch']
10500
please choose your buy things:T #要购买的物品已经购买完毕,此时可以结账,退出系统
salary left :$10500
You choose to purchase the commodity list: ['Iphone', 'Watch'] #打印购买的物品
三、登陆认证用户文件和购物列表文件
[root@localhost]# cat user.txt #认证用户和密码列表
xiaoming 111 xiaohua 222 xiaoxin 333 xiaohu 444
[root@localhost]# cat shoplist.txt #购物列表单
Iphone 6000 MacBook 11000 IPad 3000 MacMini 4000 Watch 3500
转载于:https://blog.51cto.com/xxhudu/1830816