一、购物车内容补充 需要注意注释中的内容
@login_auth
def check_shop_car():
file_path = os.path.join(db_path, '%s.json' % is_login.get('username'))
with open(file_path, 'r', encoding='utf8') as f:
user_dice = json.load(f)
user_shop_car = user_dice.get('shop_car')
for item in user_shop_car.items():
print(f"""
商品名称:{item[0]} | 商品数量:{item[1][0]} | 商品价格:{item[1][1]}
""")
@login_auth
def edit_shop_car():
file_path = os.path.join(db_path, '%s.json' % is_login.get('username'))
with open(file_path, 'r', encoding='utf8') as f:
user_dice = json.load(f)
user_shop_car = user_dice.get('shop_car') # 这边就是所读取出来的用户购物车与下面的注解进行对应需要注意
if not user_shop_car:
print('购物车里面没有东西')
shop_car_list = list(user_shop_car.items()) # 原来这里面是输出字典中的所有项目,这里将输出的内容列表化方便处理
while True:
shop_car_list = list(user_shop_car.items()) # 这一行的代码就是为了获取改变以后的字典所使用的,这个是while循环中最后写的!!!!!!!!!!!!!!!
for i, j in enumerate(shop_car_list): # [('仿真玩偶', [80, 10000]),(),()]
print(f"""
商品编号:{i} | 商品名称:{j[0]} | 商品数量:{j[1][0]} | 商品价格{j[1][1]}
""")
choice = input("""
请选择想要完成的操作
1.删除商品
2.修改商品数量
""").strip()
if choice == '1':
good = input('请输入想要修改的产品的编号>>>:').strip()
if not good.isdigit():
print('输入的不是数字')
return
good = int(good)
if good not in range(len(shop_car_list)):
print('不在范围之内')
return
good_name = shop_car_list[good][0]
# 移除上面的商品名称所对应的键 注意上面的注释对应的行,虽然也有别的办法来移除但是没有这个准确
user_shop_car.pop(good_name)
# 这里就是进行再一次的循环,需要在while下面加一点东西,不然显示的就不是修改后的字典了
elif choice == '2':
pass
else:
print('输入有误')
"""
下面的的shop_car_list = list(user_shop_car.items())
对于上面的item进行了进一步的细化,使之能够通过编号取值了
"""
标签:shop,第二十六,good,正则表达式,car,list,购物车,user,path
From: https://www.cnblogs.com/tuq2791/p/17151789.html