fuglyducky wrote:
I am a complete newbie to Python (and programming in general) and I
have no idea what I'm missing. Below is a script that I am trying to
work with and I cannot get it to work. When I call the final print
function, nothing prints. However, if I print within the individual
functions, I get the appropriate printout.

Am I missing something??? Thanks in advance!!!!

################################################
# Global variable
sample_string = ""

def gen_header(sample_string):
    HEADER = """
    mymultilinestringhere
    """

    sample_string += HEADER
    return sample_string

def gen_nia(sample_string):
    NIA = """
    anothermultilinestringhere
    """

    sample_string += NIA
    return sample_string


gen_header(sample_string)
gen_nia(sample_string)

print(sample_string)

It'd be best if you used different names for global scope than you do inside your functions. It won't change how this case works, but at least it'd be clearer what's happening. And sometimes you can get an unintended side effect when you use the same name for two different variables.

In function gen_header(), you take an argument, and return a modified version of it. But the call to it never uses the return value. If you want to make any changes to the global value, you'd do something like this:

sample_string = gen_header(sample_string)
sample_string = gen_nia(sample_string)

print(sample_string)


HTH
DaveA
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to