【问题标题】:Novice coder seeking guidance新手编码寻求指导
【发布时间】:2017-09-24 17:31:12
【问题描述】:

对于我似乎无法解决的问题,我需要有关此程序的帮助

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。 每当我尝试运行此代码时,我都会收到一条错误消息,指出加星标的文本“超出范围”。请帮助并提前谢谢您

【问题讨论】:

  • two23([0][1]) ???????????????????

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


【解决方案1】:

[0][1] 引用列表 [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])

【讨论】:

  • 对不起,我编辑了帖子以包含程序的目的。它的目的是根据列表的内容输出真假。如果列表包含 2 和 2 或 3 和 3,则为 true。如果它包含其他任何内容,则为 false。同样,我是一个非常新手的编码器,这是我在这里的第一篇文章。
猜你喜欢
  • 1970-01-01
  • 2014-12-15
  • 2020-08-03
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
相关资源
最近更新 更多