Steve M wrote:
I'm actually doing this as part of an exercise from a book. What the program
is supposed to do is be a word guessing game. The program automaticly
randomly selects a word from a tuple. You then have the oportunity to ask
for a hint. I created another tuple of hints, where the order of the hints
correspond to the word order. I was thinking if I could get the index
position of the randomly selected word, I pass that to the hints tuple to
display the correct hint from the hints tuple. I'm trying to do it this way
as the book I'm using has not gotten to lists yet.

I'm guessing it also hasn't gotten to dicts yet either? Perhaps a somewhat more natural way of doing this would be something like:


py> hints = dict(word1="here's hint 1!",
...              word2="here's hint 2!",
...              word3="here's hint 3!")
py> words = list(hints)
py> import random
py> selected_word = random.choice(words)
py> selected_word
'word3'
py> print hints[selected_word]
here's hint 3!

That said, if you want to find the index of a word in a tuple without using list methods, here are a couple of possibilities, hopefully one of which matches the constructs you've seen so far:

py> t = ("fred", "barney", "foo")

py> for i, word in enumerate(t):
...     if word == "barney":
...         break
...
py> i
1

py> for i in range(len(t)):
...     if t[i] == "barney":
...         break
...
py> i
1

py> i = 0
py> for word in t:
...     if word == "barney":
...         break
...     i += 1
...
py> i
1

HTH,

STeVe
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to