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()