Cha*_*zey 0 python indexing list range
我正在创建一个用于播放字谜的单词生成器,它适用于大约六个单词,然后说"列表索引超出范围".
这是我的代码:
def selection(word):
while True:
from random import randint
sel = randint(1,10)
print(word[sel])
input("\nPress enter to select a new word.")
print("Type in ten words to add to the list.")
words = []
words.append(input("1st word: "))
words.append(input("2nd word: "))
words.append(input("3rd word: "))
words.append(input("4th word: "))
words.append(input("5th word: "))
words.append(input("6th word: "))
words.append(input("7th word: "))
words.append(input("8th word: "))
words.append(input("9th word: "))
words.append(input("10th word: "))
input("\nPress enter to randomly select a word.")
selection(words)
Run Code Online (Sandbox Code Playgroud)
您目前正在1和之间选择一个数字10.Python列表是0 indexed,所以你应该在0和之间选择一个数字9.
sel = randint(0, 9)
Run Code Online (Sandbox Code Playgroud)
这也是使用该choice()功能的好地方.它从序列中挑选一个随机元素(例如列表).
random_word = random.choice(words)
Run Code Online (Sandbox Code Playgroud)