本文共 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 |