Python while循环中列表的非类型错误?

Python while循环中列表的非类型错误?,python,Python,我正在写一个猜谜游戏程序,有定义的函数。它要求用户想出一个介于1和1000之间的数字,然后程序尝试在不到15次的尝试中猜出这个数字。对于我的函数,要在每个函数中返回多个值,我将它们作为列表返回。但是有一个非类型错误-下面是错误消息 Traceback (most recent call last): File "python", line 187, in <module> File "python", line 167, in main TypeError: 'NoneTyp

我正在写一个猜谜游戏程序,有定义的函数。它要求用户想出一个介于1和1000之间的数字,然后程序尝试在不到15次的尝试中猜出这个数字。对于我的函数,要在每个函数中返回多个值,我将它们作为列表返回。但是有一个非类型错误-下面是错误消息

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]
def猜测返回(尝试、上、下):
15岁以下的儿童:
errorInput=“是”
当errorInput==“是”时:
反馈猜测值=猜测器(上、下)
反馈=反馈猜测值[0]
猜测值=反馈猜测值[1]
LUITri=processData(反馈、尝试、上限、下限、猜测值)
下限=路易特里[0]
上限=路易特里[1]
errorInput=LUITri[2]
tries=LUITri[3]
errorBound=boundChecker(上、下)
errorTrick=trickChecker(上、下)
如果errorBound==“是”:
返回
elif errorTrick==“是”:
返回
elif反馈==“0”:
尝试次数+=1
返回
尝试次数+=1
返回[反馈,错误输入,错误绑定,错误技巧,尝试]
不带值的
return
语句将返回
None
,然后您尝试将其视为列表


不带值的
return
语句将返回
None
,然后您尝试将其视为一个列表该错误告诉您正在尝试对类型为
NoneType
的对象(即
None
单例对象)使用订阅语法(
[…]

您的
guessReturn()
函数在多个位置返回
None

if errorBound == "yes":
    return
elif errorTrick == "yes":
    return
elif feedback == "0":
    tries += 1
    return
return
没有显式返回值时返回
None

您正在尝试使用以下内容订阅该结果:

feedback = FBTrcTri[0]

您必须明确地测试
fbtrcri
是否为
None
(或者使用异常处理来捕获
类型错误
),或者始终从函数的所有出口点返回列表或元组中至少4个值。

错误告诉您正在尝试使用订阅语法(
[…])
)在类型为
NoneType
(即
None
singleton对象)的对象上

您的
guessReturn()
函数在多个位置返回
None

if errorBound == "yes":
    return
elif errorTrick == "yes":
    return
elif feedback == "0":
    tries += 1
    return
return
没有显式返回值时返回
None

您正在尝试使用以下内容订阅该结果:

feedback = FBTrcTri[0]

您必须明确测试
fbtrcri
是否为
None
(或者使用异常处理捕获
类型错误
),或者始终在列表或元组中返回至少4个值,从函数的所有退出点。

guessReturn
函数中有大量实例,您不返回任何内容/
None
,即
return
函数中有大量实例,您不返回任何内容/
None
,即
return