列表题目
根据商品信息,选择商品并打印出清单shop_cost=[]
package=[]
products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],
["Book",60],["Nike",699]]
for index,i in enumerate(products):
#先打印商品信息
print("%s%s %s"%(index,i,i))
while True:
temp= input("请根据商品编号,选择您所需要的商品,退出请按q:")
if temp == "q":
print("购物结束")
break
choic_= int(temp) # 将字符串转化成整数
if choic_ >len(products):
print("输入的商品编号不存在!",temp)
else:
package.append(products)
shop_cost += products
print("----------以下是您的购物清单----------")
for index,y in enumerate(package):
print("%s%s %s"%(index,y,y))
print("总计金额:",shop_cost)
print("----------谢谢您的购物,欢迎下次光临!----------")
shop_cost += products这步出错TypeError: 'int' object is not iterable,不清楚为什么
本帖最后由 jackz007 于 2021-9-26 22:48 编辑
第20行代码
shop_cost += products
改为
shop_cost . append(products)
此外,第26行代码
print("%s %s %s" % (index , y , y))
改为
print("%d%s %s" % (index + 1 , y , y))
会好一些 jackz007 发表于 2021-9-26 22:42
第20行代码
改为
谢谢修改,解决了运行问题 第一行shop_cost=[]
改为
shop_cost=0 shop_cost=[]
shop_cost += products
用一个列表加一个int整数,做什么,直接shop_cost=0不就可以了吗? 冬雪雪冬 发表于 2021-9-26 23:00
第一行shop_cost=[]
改为
shop_cost=0
谢谢,终于发现了... 16,17行也有问题吗?
我输入索引6的时候直接报错“IndexError: list index out of range”并未打印“输入的商品编号不存在” 微热懂一夏 发表于 2021-10-5 16:36
16,17行也有问题吗?
我输入索引6的时候直接报错“IndexError: list index out of range”并未打印“输入 ...
是哦。。。为什么呢
页:
[1]