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
  • 相关阅读:
    在 WF 4 中编写自定义控制流活动
    CLS(公共语言规范)的CLSCompliant(跨语言调用)
    public类型中internal成员
    最短路径—Dijkstra算法和Floyd算法
    System.Windows.Forms
    第一个Xamarin的 Android 应用程序!
    内地开源镜像网站
    Xamarin C# Android for Windows 安装
    TortoiseSVN 源代码下载
    Install Visual Studio Tools for Apache Cordova
  • 原文地址:https://www.cnblogs.com/pythonlee/p/9556728.html
Copyright © 2011-2022 走看看