开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

python 购物流程脚本

简介:
+关注继续查看

一、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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python编程:MySQLdb模块对数据库的基本增删改查操作
Python编程:MySQLdb模块对数据库的基本增删改查操作
0 0
Python编程:entry_points将Python模块转变为命令行工具
Python编程:entry_points将Python模块转变为命令行工具
0 0
Python编程:SQLAlchemy查询数据没有变化
遇到一个问题,使用一条相同的sql,多次查询数据库,每次数据都一样,而且数据库更新了,也没有查到新数据 经过Google,发现是SQLAlchemy的缓存机制导致的 设置隔离级别参数isolation_level 就可以解决
0 0
Python编程:运行目录或zip压缩文件
Python编程:运行目录或zip压缩文件
0 0
Python编程:PyThink数据库交互模块提高爬虫编写速度
Python编程:PyThink数据库交互模块提高爬虫编写速度
0 0
Python编程:glob模块进行文件名模式匹配
Python编程:glob模块进行文件名模式匹配
0 0
Python编程:heapq模块堆排序
堆是一个二叉树,其中每个父节点的值都小于或等于其所有子节点的值。 整个堆的最小元素总是位于二叉树的根节点。 python的heapq模块提供了对堆的支持。 堆数据结构最重要的特征是heap[0]永远是最小的元素
0 0
Python编程:实现消息发布/订阅模型
Python编程:实现消息发布/订阅模型
0 0
Python编程:abc模块实现抽象类
Python编程:abc模块实现抽象类
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python第五讲——关于爬虫如何做js逆向的思路
立即下载
Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲
立即下载
Python系列直播第一讲——Python中的一切皆对象
立即下载