I\'m a newbie programmer trying to make a program, using Python 3.3.2, that has a main() function which calls function1(), then loops function2()
Define the variable outside of your functions, and then declare it first as global inside with the global keyword. Although, this is almost always a bad idea because of all of the horrendous bugs you'll end up creating with global state.
Don't try to define it a global variable, return it instead:
def function2():
name = input("Enter name: ")
return name
def function3():
print(function2())
If you want to use variables defined in function to be available across all functions then use a class:
class A(object):
def function1(self):
print("hello")
def function2(self):
self.name = input("Enter name: ")
def function3():
print(self.name)
def main(self):
self.function1()
while True:
funtion2()
function3()
if not self.name:
break
A().main()