[Tutor] Re: 4 begginers questions ... (fwd)

Lee Harr missive at hotmail.com
Sun Nov 9 09:48:53 EST 2003


>1.) I was puting in some wrong values, and python start to calculating 
>endlessly, so I would like to know, if it is possible,  how to force python 
>to stop executing my instructions in that cases (without quiting program) 
>??
>

Are you typing at the interactive interpreter? (the >>> prompt?)
Try ctrl-c


>2.) And second, after error message, is python continuing from last line,
>or do I need to retype all from the begging of current program (I suppose 
>exept variables, which were set previous)
>

If your program is starting to get complex enough that you are
concerned about "typing it again" you should be saving it in a file
and running it, rather than just typing it at the interactive interpreter
prompt.

If you expect you might get an error, you can plan for it:

for denominator in range(-10, 10):
    try:
        quotient = 10.0 / denominator
        print '10 / %s = %s' % (denominator, quotient)
    except ZeroDivisionError:
        print 'cannot divide by zero'


>3.) In your (Alan Gauld) tutorial in part "Conversing with the user" it 
>says:
>
>>>>print raw_input("Type something: ")
>
>As you see raw_input simply displays the given prompt and captures whatever 
>the user types in response. Print then displays that response. We could 
>instead assign it to a variable:
>
>resp = raw_input("What's your name? ")
>print "Hi, %s, nice to meet you" % resp
>

>>>>resp = raw_input("What's your name?")
>What's your name?  David     #  right after this line wich display promt
>and response to that promt - so what is then with ... 'David'
>

Isn't that the part that you typed?  If it did not show that, you would not
be able to see what you were typing.


>... so actually there is no need (and impossible though) to use print 
>command again to display that response, (the response is displayed 
>automaticly, right after second "promt/response" line) so response is 
>"captured" only if we set the answer to variable (like in second case) ...
>

Right. This actually relates to your next question.

Some functions return a value. What happens to that value is slightly
different depending on whether you are typing at the interactive
interpreter, or running a program from a file.


>4.) Different between :
>
>>>>a = "dav"
>>>>print a    #  type print a and hit return ...
>'dav'             #  dav is displayed inside ' ' sign
>
>>>>a = "dav"
>>>>a          #  type a and hit return in this case ...
>dav              #  dav is displayed without ' ' signs
>

The interactive interpreter will show you what a name is attached to
if you just type it in and hit enter:

>>>a
'dav'

however, if you did the same thing in a program, you would never
see that output:

#save this as showa.py
a = 'dav'
print 'this is a'
a
print 'this is print a'
print a
#

now run that program and you will see:

$python showa.py
this is a
this is print a
dav

_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*. 
http://join.msn.com/?page=features/featuredemail




More information about the Tutor mailing list