Jump to content

  • Log In with Google      Sign In   
  • Create Account


Variables called from lists?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 iGoogleThis   Members   -  Reputation: 205

Like
0Likes
Like

Posted 31 January 2013 - 09:31 PM

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]
    menu_item = i + 1
    print "\t", menu_item, choices

 

 


Edited by iGoogleThis, 01 February 2013 - 12:50 AM.

Chris LeJohn

Build Engineer (RE)
Gnovahex Computing


Sponsor:

#2 LorenzoGatti   Crossbones+   -  Reputation: 2662

Like
0Likes
Like

Posted 03 February 2013 - 11:55 AM

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

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.


Produci, consuma, crepa




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS