我正在写一个猜谜游戏程序,具有定义的功能。它要求用户考虑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' –