新手编码器寻求指导

时间:2017-04-27 05:01:25

标签: python python-3.x debugging error-handling

我需要帮助解决一个我似乎无法解决的问题的程序

numblist = []

def two23(numblist):

    **if two23([0][1]) == 2:**
        return 'True'

    elif two23([0][1]) == 3:
        return 'True'

    else:
        return 'False'

print(two23([2, 3]))

如果列表的内容是2和2或3和3,则该程序应该输出true。如果列表是2和3,则程序将输出false。 每当我尝试运行此代码时,我都会收到一条错误消息,指出已加星标的文字超出范围"。请帮助,并提前感谢

1 个答案:

答案 0 :(得分:0)

[0][1]引用list [0]的索引1处的元素,但此列表在索引0处只有一个元素,因此您将收到错误消息“IndexError:list index out of range。 “你肯定不是指

two23([0][1])

甚至two23([0])因为这是一个函数调用。你只需要

def two23(numblist):
   return numblist == [2,2] or numblist == [3,3]

无需if语句。你甚至可以使它更简单:

def two23(numblist):
   return numblist in ([2,2],[3,3])