python 购物流程脚本

发布时间:2019-09-08 09:11:38编辑:auto阅读(1448)

    一、Python购物流程脚本

    半个多月的python学习,花了一天的时间终于写出来了一个简单的购物流程脚本,也算是对Python的一次总结和知识的温习,本人很菜,脚本也非常非常一般。希望在前辈的基础上能更好的学习Python,希望与大家交流。联系方式博客见

    此脚本能够实现的实现的功能:
    1、通过用户名和密码认证才能登陆购物系统,否者拒绝。
    2、认证通过后,用户需要输入工资后会打印一个购物列表,列表中有可以购买的物品。
    3、用户可以用自已的工资买购物列表中的物品,前提是自已的工资承受的起,如果承受不起,退出。
    4、购买的物品可以加入购物车,也可以从购物车删除。
    5、确定购买物品结束后,就可以结算购买物品的总消费金额,然后退出整个系统
    
    此脚本用到python的知识点:
    1、流程控制:if | for | while True
    2、文件的读取
    3、列表的增加和删除
    4、模块
    5、切片
    6、索引
    ......
    #!/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


    二、脚本测试

    [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']    #打印购买的物品

    三、登陆认证用户文件和购物列表文件

    [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

关键字