# Variables called from lists?

This topic is 1813 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi everyone.

I have a question about some of the variables Python recognizes.  I'm not exactly new to programming in general but I've found it difficult to grasp some of the things that take place seemingly spontaneously in the Python language.  I want to write a small text based game so I just wet ahead and looked for tutorials to get the feel for it.  I'm having problems understanding what happened from line 17 to line 20 in this code.  I understand that the entire block from 17 downward prints what's in the list but I just don't see where the "i" comes from in the 17th line.  I also don't understand how "\t" was assigned to anything, it just seemed to materialize with no explanation.  There are gaps in my knowledge regarding this admittedly but I'm used to a traditional global/local variables being called explicitly before anything can be done with them.  If someone could break down those lines for me some more I'd really appreciate it.  Also, if there's an alternative way to write those lines I'd really like to know for future reference.

EDIT:  the "i" is just a commonly used variable referrin to ndices used in mathematics.  This should have been made clear but no harm done.  I got some sleep and figured out that the t was for tab, duh.  There are other similar abbreviations around as well.  Good luck to anyone else who had the same little issue!




import textwrap

description = "You are standing in a field. To the north of you are some mountains, " \
"to the east of you is a forest, to the west of you is a cave, and to " \
"the south of you is a valley."

print textwrap.fill(description)

# The list of choices available to the user.
choices = [
"Go to the mountains",
"Go into the forest",
"Go into the cave",
"Go to the valley"
]

for i in range(0, len(paths)):
choice = choices[i]
print "\t", menu_item, choices

##### Share on other sites
for i in range(0, len(paths)):
choice = choices[i]



In this code paths is undefined (did you mean choices?) and probably you want to print choice (one item) rather than choices (the whole list four times).

The expression "\t" is a string constant, like the ones you put into choices, and it goes straight into the print operator, there is no reason to bind a variable to it (variables choice and menu_item are also unnecessary).

Variable i is scoped to the for loop body and it takes all values in range(0, len(paths)) in succession because that's what the for loop does.

The real unusual syntax here is the Python 2.x print operator, which doesn't use parentheses; in newer language versions (you are just beginning to learn: upgrade to Python 3.3!) print has become a function.