0
我有一個函數(基於文本的遊戲),它要求輸入多次遍歷自己,在進行錯誤檢查之前,我將立即刪除所有空白。如何在另一個函數內調用多次返回變量的函數?
以減少冗餘,我想製作另一個函數做兩,然後返回,像這樣的變量:
def startGame():
print("1, 2 or 3?")
response = response()
def response():
a = raw_input()
a = a.strip()
return a
startGame()
問題是我不斷收到:
UnboundLocalError: local variable 'response' referenced before assignment.
這是沒有因爲響應被分配了response()
的返回值。
我錯過了什麼?有沒有更簡單的方法來做到這一點?
@Martijn_Pieters感謝。我不知道Python做到了,但現在我做到了! –
@JosephWebber:在函數中,您直接分配給的所有名稱('somename = ...')將成爲局部變量(語言編譯器會這樣做)。這不適用於屬性('somename.someattribute ='),僅適用於直接名稱。因此「響應」已經被定義爲本地名稱,但是在分配任何值之前您已嘗試使用它。然後引發一個例外。 –