私は定義された機能を持つ推測ゲームプログラムを書いています。ユーザーに1から1000までの数字を考えるように求め、プログラムは15回未満の試行で数字を推測しようとします。私の関数では、各関数で複数の値を返すために、それらをリストとして返します。しかし、NoneTypeエラーがあります - ここにエラーメッセージがあります。whileループのリストでタイプエラーが発生しましたか?
while opAns.lower() != "no":
FBTrcTri = guessReturn(tries, upper, lower)
feedback = FBTrcTri[0]
errorBound = FBTrcTri[1]
errorTrick = FBTrcTri[2]
tries = FBTrcTri[3]
および機能は、ここで定義されています:
Traceback (most recent call last):
File "python", line 187, in <module>
File "python", line 167, in main
TypeError: 'NoneType' object is not subscriptable
ここに私のコードは値を持たない
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'というインスタンスがたくさんあります –