我正在尝试进行 api 连接,一切正常,但是当 python 必须打印一些不存在的值时,它给了我错误。当值存在时一切正常代码:(使用python 3.7)r = requests.get('https://api.csgofloat.com/?url=%s' %floaat, headers={})data = r.json()print("Sticker 1: %s" %data['iteminfo']['stickers'][0]['name'])print("Sticker 2: %s" %data['iteminfo']['stickers'][1]['name'])print("Sticker 3: %s" %data['iteminfo']['stickers'][2]['name'])print("Sticker 4: %s" %data['iteminfo']['stickers'][3]['name'])当我拥有所有 4 个值时,我得到所有值,但只有 1 个值,它打印存在的值,然后给出错误并退出脚本,并且没有返回值,我只得到错误(如前所述)打印错误:回溯(最近一次调用):文件“C:\Users\Joao\Desktop\Folderzz\Scripts\script.py”,第 47 行,打印中(“Sticker 1: %s” %data['iteminfo']['贴纸'][0]['name']) IndexError:列表索引超出范围
1 回答

大话西游666
TA贡献1817条经验 获得超14个赞
问题是你不知道有多少“贴纸”进来,所以你应该做一个循环:
i = 0
for sticker in data['iteminfo']['stickers']
i += 1
print "Sticker {}: {}".format(i, sticker)
添加回答
举报
0/150
提交
取消