Somehow this won't work. - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Somehow this won't work.

kratosaurion7kratosaurion7 Posts: 3Member
I wanted to do this little program that shows a list of names and give them random numbers. The user have to memorize each name-number set and must give the correct number to the name chosen randomly.

def mainGame():
playing = True

#The lists are matching names with their numbers.
nameList = ('Joe', 'Alice', 'Bob', 'Eve')
#numberList = (returnRandom(0, 10), returnRandom(0, 10), returnRandom(0, 10), returnRandom(0, 10)) #Return random is a function I made that spits out a random number given the range. Shortcut for random.randint(min, max)

for i in range(0, len(numberList)):
print nameList[i], ":", numberList[i]

while playing:
rand = returnRandom(0, len(numberList))

print "What is %s's number?" % nameList[rand]

if raw_input("Choice: ") == numberList[rand]:
playing = False

print "Congratulation, you finished this minigame !"
Joe : 2
Alice : 10
Bob : 5
Eve : 4

What is Bob's number?
Choice: 5
(I know I should use a dictionary, but I can't seem to work it out. Any help is appreciated though.)

The problem is that after a few iterations I get this error:
print "What is %s's number?" % nameList[rand]
IndexError: tuple index out of range
It can be after 3 iterations, or 5 or 6. And I don't why, its not supposed to go out of range at all ! Halp.


Sign In or Register to comment.