I am creating a word generator for playing charades, and it works for about six words, then says “List index out of range.”
this is my code:
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)
You are currently picking a number between
1and10, inclusive. Python lists are0 indexed, so you should be picking a number between0and9.This is also a good place to use the
choice()function. It picks a random element from a sequence (eg a list).