2016-10-23 69 views
-1
def MainMenu(): 
    print("Enter 1 to set values") 
    print("enter 2 to display values") 
    MainMenuInput = int(input("Enter: ")) 
    if MainMenuInput == "1": 
     setgen() 
     MainMenu() 
    elif MainMenuInput == "2": 
     print (fjuv) 

def setgen(): 
    fjuv = int(input("Amount of juveniles between 0 and 25?")) 
    MainMenu() 

MainMenu() 
setgen() 

如何做到让等MainMenuInput == 2它打印的价值是在DEF代码setgen?蟒蛇如何从<code>MainMenuInput == 1</code>打印先前输入

+0

请做一个[MCVE] –

+0

@MosesKoledoye完成 – Josh

+0

您的缩进被搞砸了。请修复。 –

回答

0

要做到这一点,你需要/可以通过定义一个全局变量将global放入代码的初始化部分,该代码在定义变量之前运行。

+0

抱歉,“令人困惑”的措词 –

+0

'全球'是皱起了眉头。最好的方法是重构程序并使用参数和返回值。 – Matthias

+0

它是最简单的方法,不用重新编制程序,但我同意。 –

0
def MainMenu(): 
    while True: 
     print("Enter 1 to set values") 
     print("enter 2 to display values") 
     MainMenuInput = int(input("Enter: ")) 
     if MainMenuInput == 1: 
      setgen() 
     elif MainMenuInput == 2: 
      print (setgen.fjuv) 

def setgen(): 
    setgen.fjuv = int(input("Amount of juveniles between 0 and 25?")) 
    MainMenu() 

MainMenu() 

它在那里完成。通过做setgen.variable

代码是很破,现在大多固定setgen

访问变量。你要求整数输入MainMenuInput = int(input("Enter: "))然后比较字符串MainMenuInput == "1",不会工作。 (固定)

+0

如果在任何时候你想要摆脱'MainMenu '循环,只需放一个'break'语句。 – Luke