【问题标题】:Keep getting error when argument is [1, 2, 2] [duplicate]当参数为 [1, 2, 2] 时不断出错 [重复]
【发布时间】:2022-08-15 16:07:54
【问题描述】:
def is_ascending(items):
  if len(items) == 0 or 1:
    return True
  for i in range(len(items) - 1):
    if items[i] >= items[i + 1]:
      return False
  return True
  • 问题在于 0 或 1。您需要检查条件。 ``` 如果 len(items) == 0 或 len(items) == 1: ```

标签: python


【解决方案1】:
if len(items) == 0 or 1:

这个 sn-p 没有做你认为它做的事情。它基本上被评估为

if (len(items) == 0) or (1):

这总是 True 因为“或”之后的部分是 True (所以整个函数返回 True。你想要的是

if (len(items) == 0) or (len(items) == 1):

或更简单

if len(items) <= 1:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-04
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多