2016-10-07 50 views
-2

我在第2行收到錯誤,說我有一個unboundLocal錯誤。任何人都可以向我解釋如何解決這個問題?UnboundLocalError:分配前引用的局部變量'number1'

def main(): 
      number1=getNumber1(number1) 
      number2=getNumber2(number2) 
      userIntro='' 
      printInfo=0.0 
      answer=0.0 
    #intro module welcomes the user 
     def userIntro(): 
      print('hello welcome to my maximum value calculator') 
      print('today we will evaluate two number and display the greater one') 
    #this module gets the value of number1 
     def getNumber1(number1): 
      number1=print(input('Enter the value of number1')) 
      return (getNumber1) 
    #this module gets the value of number2  
     def getnumber2(number2): 
      number2=print(input('Enter the value of number2')) 
      return (getNumber2) 
    #this module takes the values of number1,number2 and displays the greater value  
     def printInfo(number1,number2,answer): 
      answer=max(number1,number2) 
      return (answer) 
     main() 
+0

'數字1 = getNumber1(數量1) NUMBER2 = getNumber2(數字2)'你想創造和傳遞變量該功能在同一時間? – Nf4r

+0

你預計主要的前兩行是做什麼的?想想你在那裏做什麼,你的錯誤將變得清晰。此外,您的代碼還有其他錯誤。 –

回答

1

number1在創建它之前沒有定義 - 在定義它時不能將它傳遞給另一個函數。好像你需要一個簡單的功能要分配給該得到名稱:

def main(): 
    number1 = getNumber('number1') 
    number2 = getNumber('number2') 

def getNumber(name): 
    return input('Enter the value of ' + name)) 
+0

我似乎已經修復了我的代碼的開始部分,但我似乎無法獲得最大的顯示量,printInfo模塊是否正確寫入?我從來沒有使用「最大」功能,所以這對我來說都是新的。 – christopher

相關問題