一、Python购物流程脚本
半个多月的python学习,花了一天的时间终于写出来了一个简单的购物流程脚本,也算是对Python的一次总结和知识的温习,本人很菜,脚本也非常非常一般。希望在前辈的基础上能更好的学习Python,希望与大家交流。联系方式博客见
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
此脚本能够实现的实现的功能:
1、通过用户名和密码认证才能登陆购物系统,否者拒绝。
2、认证通过后,用户需要输入工资后会打印一个购物列表,列表中有可以购买的物品。
3、用户可以用自已的工资买购物列表中的物品,前提是自已的工资承受的起,如果承受不起,退出。
4、购买的物品可以加入购物车,也可以从购物车删除。
5、确定购买物品结束后,就可以结算购买物品的总消费金额,然后退出整个系统
此脚本用到python的知识点:
1、流程控制:if | for | while True
2、文件的读取
3、列表的增加和删除
4、模块
5、切片
6、索引
......
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
#!/usr/bin/env python
# Descript message
# Author:Allentuns
# MailBox:zhengyansheng@hytyi.com
# Tel:13260071987
import
startup
import
sys
userfile =
open
(
"user.txt"
,
"r"
)
rss = userfile.readlines()
listpass = []
for
line
in
rss:
line1 = line.
split
()[0]
listpass.append(line1)
username1 = listpass[0::2]
password1 = listpass[1::2]
while
True:
user = raw_input(
"please input your username:"
)
user_num = username1.index(user)
user_pas = password1[user_num]
if
len(user) == 0:
print
"empty user,try again."
continue
elif
user
in
username1:
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
|
二、脚本测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
[root@python 20141105]
# python list.py
please input your username:allentuns
#输入错误的用户名,则登陆失败
allentuns is not exists,please try again input your name
please input your username:ad
ad is not exists,please try again input your name
please input your username:admin
#输入正确的用户名后,可以继续输入密码
please your password:000
#密码输入错误后,尝试继续在次输入
password is Error,please try again.
please your password:a
password is Error,please try again.
please your password:000000
#密码输入正确后,可以继续下一步操作
Welcome to admin login shoppings:
please input your salary:20000
#输入工资,打印购物列表
Apple 13500
Iphone 4500
Bike 490
Samsung 2900
Piano 1600
Coffer 35
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:Apple
#选择想要购买的物品1,并加入到购物车
Apple $13500
Add Apple into your shoplist
You choose to purchase the commodity list: [
'Apple'
]
#已经成功加入到购物车
please choose your buy things:Bike
#选择想要购买的物品2,并加入到购物车
Bike $490
Add Bike into your shoplist
You choose to purchase the commodity list: [
'Apple'
,
'Bike'
]
#已经成功加入到购物车
please choose your buy things:Coffer
#选择想要购买的物品3,并加入到购物车
Coffer $35
Add Coffer into your shoplist
You choose to purchase the commodity list: [
'Apple'
,
'Bike'
,
'Coffer'
]
please choose your buy things:D
#如果此时感觉不想买Bike了,可以从购物车将其删除
your will things remove from into shoplist:Bike
#删除购物车的物品
[
'Apple'
,
'Coffer'
]
6465
please choose your buy things:T
#要购买的物品已经购买完毕,此时可以结账,退出系统
salary left :$6465
You choose to purchase the commodity list: [
'Apple'
,
'Coffer'
]
#打印购买的物品
|
三、登陆认证用户文件和购物列表文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@python 20141105]
# cat user.txt #认证用户和密码列表
jerry
123456
Kimits
873902
admin
000000
[root@python 20141105]
# cat shoplist.txt #购物列表单
Apple 13500
Iphone 4500
Bike 490
Samsung 2900
Piano 1600
Coffer 35
|
本文转自zys467754239 51CTO博客,原文链接:http://blog.51cto.com/467754239/1572203
,如需转载请自行联系原作者