我正在寫一個猜謎遊戲程序,具有定義的功能。它要求用戶考慮1到1000之間的數字,然後程序嘗試在少於15次的嘗試中猜出數字。通過我的函數,爲了在每個函數中返回多個值,我將它們作爲列表返回。但是有一個NoneType錯誤 - 這是錯誤信息。None類型的錯誤與while循環中的列表?
Traceback (most recent call last):
File "python", line 187, in <module>
File "python", line 167, in main
TypeError: 'NoneType' object is not subscriptable
這裏是我的代碼:
while opAns.lower() != "no":
FBTrcTri = guessReturn(tries, upper, lower)
feedback = FBTrcTri[0]
errorBound = FBTrcTri[1]
errorTrick = FBTrcTri[2]
tries = FBTrcTri[3]
而且功能定義如下:
def guessReturn(tries, upper, lower):
while tries < 15:
errorInput = "yes"
while errorInput == "yes":
feedbackGuessVal = guesser(upper, lower)
feedback = feedbackGuessVal[0]
guessVal = feedbackGuessVal[1]
LUITri = processData(feedback, tries, upper, lower, guessVal)
lower = LUITri[0]
upper = LUITri[1]
errorInput = LUITri[2]
tries = LUITri[3]
errorBound = boundChecker(upper, lower)
errorTrick = trickChecker(upper, lower)
if errorBound == "yes":
return
elif errorTrick == "yes":
return
elif feedback == "0":
tries += 1
return
tries += 1
return [feedback, errorInput, errorBound, errorTrick, tries]
你的'guessReturn'函數中有很多實例,你不返回任何東西/'None',即'return' –