zoukankan      html  css  js  c++  java
  • Week2-作业:购物车程序优化(写文件方式)

    #!/usr/bin/en python
    # Author:lijun
    
    '''
    购物车:
        用户入口:
        1、商品信息存在文件里
        2、己购商品,余额记录。第一次启动时才需要输入工资
        
        商家入口:
        1、可以添加商品,修改商品价格
        
    iphone,6000
    macbook,12000
    book,88
    bike,900
    '''
    
    import  os
    
    goods_file = os.getcwd() + os.sep + "goods_list.txt"
    userinfo = os.getcwd() + os.sep + "userinfo.txt"
    bought_goods = os.getcwd() + os.sep + "bought_goods.txt"
    
    exit_shop = False
    while not  exit_shop:
        select = input("请选择入口,用户叫输入1,商家请输入2,输入q退出:")
        if select == "1":
            print("-->用户入口")
            if not os.path.exists(userinfo) or not os.path.getsize(userinfo):
                #print("您是第一次购买商品")
                salary = input("请输入您的工资:")
            else:
                with open(userinfo) as user:
                    salary=user.read()
            while salary == "":
                salary = input("请输入您的工资:")
                with open(userinfo,'w+') as user:
                    user.write(salary)
            if salary.isdigit():
                salary=int(salary)
                with open(goods_file) as goods:
                    goods = goods.read().splitlines()
                    goods_list = []
                    for i in goods:
                        g = i.split(',')
                        goods_list.append(g)
                    for i,j in enumerate(goods_list):
                        goods_name = goods_list[i][0]
                        goods_price = goods_list[i][1]
                        print("商品编号:{index},商品名称:{name},商品价格:{price}" .format(index=i,name=goods_name,price=goods_price))
                    print("您的余额为:%s" %salary)
                    while not  exit_shop:
                        want_buy = input("请输入您要购买的商品编号,输入q退出:")
                        if want_buy.isdigit():
                            want_buy = int(want_buy)
                            if want_buy < len(goods_list) and want_buy>=0:
                                price=int(goods_list[want_buy][1])
                                if price <= salary:
                                    with open(bought_goods,"a") as bought:
                                        bought.write(goods_list[want_buy][0]+"
    ")
                                    salary -= price
                                    with open(userinfo,"w") as f:
                                       f.write(str(salary))
                                    print("您购买了商品:%s,余额:%d" %(goods_list[want_buy][0],salary))
                                else:
                                    print("您的余额为%s,买不起%s" % (salary, goods_list[want_buy][0]))
                            else:
                                print("输入错误,请输入正确的商品编号")
                        elif want_buy == "q":
                            exit_shop=True
                        else:
                            continue
        elif select == "2":
            print("商家入口")
            while not  exit_shop:
                seller = input("添加商品请输入1,修改商品价格请输入2,退出请输入q:")
                if seller == "1":
                    good_add = input("请输入商品名称和价格,用逗号隔开:")
                    with open(goods_file,"a+") as f:
                        f.writelines("
    " + good_add)
                    print("添加商品成功...")
                    continue
                elif seller == "2":
                    with open(goods_file) as goods:
                        goods = goods.read().splitlines()
                        goods_list = []
                        for i in goods:
                            g = i.split(',')
                            goods_list.append(g)
                        for i, j in enumerate(goods_list):
                            goods_name = goods_list[i][0]
                            goods_price = goods_list[i][1]
                            print("商品编号:{index},商品名称:{name},商品价格:{price}".format(index=i, name=goods_name,price=goods_price))
    
                    while not  exit_shop:
                        select_good = input("请输入修改的商品编号,退出请按q:")
                        if select_good.isdigit():
                            select_good = int(select_good)
                            while not  exit_shop:
                                new_price = input("请输入商品的新价格:")
                                if new_price.isdigit():
                                    with open(goods_file,'w') as f:
                                        goods[select_good]="{good_name},{good_price}" .format(good_name=goods_list[select_good][0],good_price=new_price)
                                        f.write('
    '.join(goods))
                                    print("修改商品价格成功...")
                                    break
                                elif new_price == "q":
                                    exit_shop = True
                                else:
                                    continue
                        elif select_good == "q":
                            exit_shop = True
                        else:
                            continue
                elif seller == "q":
                    exit_shop = True
                else:
                    continue
        elif select == "q":
            print("退出成功,再见!")
            exit_shop=True
        else:
            continue
  • 相关阅读:
    1、编写一个简单的C++程序
    96. Unique Binary Search Trees
    python 操作redis
    json.loads的一个很有意思的现象
    No changes detected
    leetcode 127 wordladder
    django uwsgi websocket踩坑
    you need to build uWSGI with SSL support to use the websocket handshake api function !!!
    pyinstaller 出现str error
    数据库的读现象
  • 原文地址:https://www.cnblogs.com/pythonlee/p/9556728.html
Copyright © 2011-2022 走看看