获取未解决的参考

出于某种原因,我在 python 3.9.x 中得到了一个未解决的引用 'i' 错误

如何修改我的代码以使其正常运行?

 for card in range(len(cards)):
    card = cards[i]
    print(f"{i+1} - {card}")

# get choice
choice = get_int_input(1, len(cards))
# get card
return cards[choice-1] if choice else None

'''

回答

蟒蛇是对的。你没有i变量。你在哪里看到的?

如果卡片包含 4 个元素,您card将依次选择0123。所以像这样改变你的 for 循环:

for i in range(len(cards)):
    card = cards[i]
    print(f"{i+1} - {card}")

但做你想做的最好的方法是这样的:

for i, card in enumerate(cards):
    print(f"{i+1} - {card}")

enumerate函数将创建一个包含(key, value). 例如:

>>> print(list(enumerate(['a', 'b', 'c'])))
[(0, 'a'), (1, 'b'), (2, 'c')]

在同一个例子中,这个循环:

for i, letter in enumerate(['a', 'b', 'c'])

将依次采用此变量: | 迭代 | 我| 信| | ---- | ------ | ----- | | 1 | 0 | '一个' | | 2 | 1 | 'b' | | 3 | 2 | 'c' |


以上是获取未解决的参考的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>