首页 > 其他分享 >第二十六天 购物车补充以及正则表达式

第二十六天 购物车补充以及正则表达式

时间:2023-02-24 16:02:46浏览次数:30  
标签:shop 第二十六 good 正则表达式 car list 购物车 user path

一、购物车内容补充 需要注意注释中的内容

@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

相关文章

  • 常用的正则表达式
    java中//正则表达式验证身份证Stringidcard="/(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/";booleanidcardB=testIdcard.matches(idcar......
  • Java国际化号码验证方法,国内手机号正则表达式
    Java国际化号码验证方法,国内手机号正则表达式 中国电信号段133、149、153、173、177、180、181、189、199中国联通号段130、131、132、145、155、156、166、175、17......
  • 购物车案例、v-model进阶、与后端交互、vue生命周期、vue组件
    购物车案例<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jquer......
  • 正则表达式
    元行为示例*零次或多次匹配前面的字符或子表达式。等效于 {0,}。zo* 与“z”和“zoo”匹配。+一次或多次匹配前面的字符或子表达式。等效于 {1,}。zo+ 与“zo”和“zoo......
  • 在 Oracle 中使用正则表达式
    Oracle使用正则表达式离不开这4个函数:1。regexp_like2。regexp_substr3。regexp_instr4。regexp_replace看函数名称大概就能猜到有什么用了。 regexp_like 只能用......
  • elasticsearch之使用正则表达式自定义分词逻辑
    一、PatternAnalyzer简介elasticsearch在索引和搜索之前都需要对输入的文本进行分词,elasticsearch提供的patternanalyzer使得我们可以通过正则表达式的简单方式来定义分......
  • 正则表达式中的惰性匹配是什么意思?
    刚学正则表达式的时候,惰性匹配还挺难理解的。所以我看了挺多博客,终于弄懂了,现在用表格整理一下:符号作用.匹配任意除换行符\n外的字符*匹配前面的字符0......
  • Golang基础-正则表达式
    backticksWhenusingbackticks(`)tomakestrings(Rawstringliterals),backslashes(\)don'thaveanyspecialmeaninganddon'tmarkthebeginningofspecial......
  • java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合 或其中至
    一、语法字符 说明\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,n匹配字符n。\n匹配换行符。序列\\\\匹配\\,\\(匹配(。^ 匹配输入字符串开始......
  • 正则表达式
    \将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,n匹配字符n。\n匹配一个换行符。序列\\匹配\而\(则匹配(。^匹配输入字......