[Tutor] problem writing random_word function (original) (raw)

Matt Smith smith-matt at tiscali.co.uk
Mon Jul 19 14:21:57 CEST 2004


Hi, I'm attempting to write a function that returns a random word of a specified length for use in a hangman game. The source of the words is a text file with each word on a new line. I got the function working printing all of the words of the desired length. I now want to make a list of all the words of the correct length then pick a random item from the list. Here is the function and traceback:

def random_word(word_length): """Returns a random word of length word_length""" import random f = open("hangman_words.txt","r") while 1: n = 0 text = f.readline() text = text[0:len(text)-2] if len(text) == word_length: word_list[n] = text n = n+1 f.close() return word_list[random.randint(0,n)]

Traceback (most recent call last): File "/home/matt/hangman.py", line 15, in -toplevel- print random_word(5) File "/home/matt/hangman.py", line 9, in random_word word_list[n] = text NameError: global name 'word_list' is not defined

Hope you can help, Matt.



More information about the Tutor mailing list