请问这行代码为什么会跑不出来呢?应该怎么用while loop更改呢?


def username_2(names):
    """
    >>> username_2(["", "Marina"])
    "uncle roger's biggest fan"
    >>> username_2(["LaiCaiJDanHenRoLu", "JJ~", "Chilli Jam Haiyah"])
    'hilli Jam Haiya'
    >>> username_2(["TUTU", "QIQI", "CECE"])
    'EC'
    """
    # YOUR CODE GOES HERE #
    index=0
    lst=[]
    while len(names[index])>=3 and index<len(names):
        lst.append(names[index][1:-1])
        index+=1
        continue
    return lst[-1]

执行第一条时 lst是空列表 用 lst[-1] 报错很正常 返回值加判断就行了


def username_2(names):
    """
    >>> username_2(["", "Marina"])
    "uncle roger's biggest fan"
    >>> username_2(["LaiCaiJDanHenRoLu", "JJ~", "Chilli Jam Haiyah"])
    'hilli Jam Haiya'
    >>> username_2(["TUTU", "QIQI", "CECE"])
    'EC'
    """
    # YOUR CODE GOES HERE #
    index = 0
    lst = []
    while index < len(names) and len(names[index]) >= 3:
        lst.append(names[index][1:-1])
        index += 1
        continue
    if len(lst) == 0:
        return "uncle roger's biggest fan"
    else:
        return lst[-1]

print(
    f'{username_2(["", "Marina"])}\n'
    f'{username_2(["LaiCaiJDanHenRoLu", "JJ~", "Chilli Jam Haiyah"])}\n'
    f'{username_2(["TUTU", "QIQI", "CECE"])}')

跑不出来是有错误提示吗?
最好是
while index<len(names) and len(names[index])>=3 :