博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 购物流程脚本
阅读量:5886 次
发布时间:2019-06-19

本文共 5370 字,大约阅读时间需要 17 分钟。

一、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,如需转载请自行联系原作者
你可能感兴趣的文章
Winform开发框架之权限管理系统改进的经验总结(3)-系统登录黑白名单的实现...
查看>>
JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)...
查看>>
【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2
查看>>
在 ASP.NET MVC 中使用异步控制器
查看>>
SQL语句的执行过程
查看>>
详解Linux中Load average负载
查看>>
PHP遍历文件夹及子文件夹所有文件
查看>>
WinForm程序中两份mdf文件问题的解决
查看>>
程序计数器、反汇编工具
查看>>
Android N: jack server failed
查看>>
如何将lotus 通讯簿导入到outlook 2003中
查看>>
WinForm 应用程序中开启新的进程及控制
查看>>
js replace,正则截取字符串内容
查看>>
Thinkphp5笔记三:创建基类
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>
Android中EditText,Button等控件的设置
查看>>
TextKit简单示例
查看>>
网格最短路径算法(Dijkstra & Fast Marching)(转)
查看>>
软链接和硬链接详解
查看>>
Redis_master-slave模式
查看>>