Why Is This Def Function Not Being Executed In Python?
Python is simply bringing up another prompt when I enter the following piece of code from Zed Shaw exercise 18. # this one is like our scripts with argv def print_two(*args): a
Solution 1:
The indentation of the last four lines is wrong. Because they're indented, the python interpreter thinks they're part of print_none()
. Unindent them, and the interpreter will call them as expected. It should look like this:
>>>print_two("Zed","Shaw")
[... etc ...]
Solution 2:
def defines a function. Functions are potential...they a set of steps waiting to be executed. To execute a function in python it must be defined and called.
# this one takes no argumentdefprint_none() :
print"I got nothin'."#brings up prompt..then execute it
print_none()
Solution 3:
Remove your indentation on the final lines. Because they are indented they are part of print_none()
instead of executing in the global scope. Once they are back in the global scope you should see them running.
Solution 4:
you need to keep the code aligned. You calls to the above method were treat as part of the function print_none().
Try this:
# this one is like our scripts with argvdefprint_two(*args):
arg1, arg2 = args
print"arg1: %r, arg2: %r" % (arg1, arg2)
# ok, that *args is actually pointless, we can just do thisdefprint_two_again(arg1, arg2) :
print"arg1: %r, arg2: %r" % (arg1, arg2)
# this just takes one argumentdefprint_one(arg1) :
print"arg1: %r" % arg1
# this one takes no argumentdefprint_none() :
print"I got nothin'."
print_two("Zed","Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()
Post a Comment for "Why Is This Def Function Not Being Executed In Python?"