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]+"\n")
                                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("\n" + 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('\n'.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

 

posted @ 2018-08-29 20:47  领导来视察  阅读(142)  评论(0编辑  收藏  举报