jiuridi 发表于 2020-4-9 13:28:07

请问我这段代码哪错了

products = [['iPhone','6888'],["MacPro","14800"],["coffee","31"],["book","61"],["nike","699"]]
buy_shopping = []
print('以下为产品序号')
for i in range(len(products)):
    print(i,products)
a= int(input("请输入要购买的商品序号"))
buy_shopping.append(products.index(a))
print("已将商品添加到购物车,现在购物车里有%s"%buy_shopping)

qiuyouzhi 发表于 2020-4-9 13:29:36

本帖最后由 qiuyouzhi 于 2020-4-9 13:35 编辑

你要么搞成一个字典,要么就把序号也放进列表里
你这个i是和列表内的商品分开打印的,列表里面没有i
或者直接索引也行,但我喜欢字典
可以改成这样:
products = {0:['iPhone','6888'],1:["MacPro","14800"],2:["coffee","31"],3:["book","61"],4:["nike","699"]}
buy_shopping = []
print('以下为产品序号')
for each in products:
    print(each, products)
a= int(input("请输入要购买的商品序号"))
buy_shopping.append(products)
print("已将商品添加到购物车,现在购物车里有%s"%buy_shopping)
当然,为了美观,建议把倒数第二行的append改成extend
products = {0:['iPhone','6888'],1:["MacPro","14800"],2:["coffee","31"],3:["book","61"],4:["nike","699"]}
buy_shopping = []
print('以下为产品序号')
for each in products:
    print(each, products)
a= int(input("请输入要购买的商品序号"))
buy_shopping.extend(products)
print("已将商品添加到购物车,现在购物车里有%s"%buy_shopping)
还可以:
products = [['iPhone', '6888'], ["MacPro", "14800"], ["coffee", "31"], ["book", "61"], ["nike", "699"]]
buy_shopping = []
print('以下为产品序号')
for i in range(len(products)):
    print(i, products, products)
a = int(input("请输入要购买的商品序号"))
buy_shopping.extend(products)
print("已将商品添加到购物车,现在购物车里有%s" % buy_shopping + ' 价格为 ' + buy_shopping)
这是最美观的一种,推荐!

zltzlt 发表于 2020-4-9 13:29:47

不要用 index(),直接用索引

products = [['iPhone', '6888'], ["MacPro", "14800"], ["coffee", "31"], ["book", "61"], ["nike", "699"]]
buy_shopping = []
print('以下为产品序号')
for i in range(len(products)):
    print(i, products)
a = int(input("请输入要购买的商品序号"))
buy_shopping.append(products)    # 修改
print("已将商品添加到购物车,现在购物车里有%s" % buy_shopping)

heidern0612 发表于 2020-4-9 13:39:14

老男孩教育?
页: [1]
查看完整版本: 请问我这段代码哪错了