我在Kaggle上写了作业代码。
给定一段时间内供应的饭菜列表,如果同一顿饭连续两天供应,则返回True,否则返回False
def menu_is_boring(meals):
return any([ meals[l] == meals[l+1] for l in range(0,len(meals)-2) ])
给定的预期返回值为True
meals=['Spam', 'Spam']
,但改为False。 最佳答案
在您的示例中,len(meals)
是2,所以len(meals)-2
是0
,所以范围是空的。
你只需要减去1。
试试这个:
def menu_is_boring(meals):
return any([meals[l] == meals[l + 1] for l in range(0, len(meals) - 1)])
print(menu_is_boring(["Spam", "Spam"]))
输出:
真的
值得注意的是,python的
range
不包含stop
参数(即list(range(1,5))
是[1, 2, 3, 4]
)关于python - 列出了连续两次进入的理解,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56825478/