【发布时间】:2020-05-16 02:30:26
【问题描述】:
好的,所以我正在通过 doctest 检查我的所有代码。我还有大约五个其他工作正常的解决方案 - 所以我的代码的肉和土豆是功能性的。但是,我不断通过一项测试,并得到 False 而不是 True。下面是我的代码
def duplist(lst1, lst2):
lst1Counter = 0
lst2Counter = 0
while lst1Counter in range(len(lst1)) and lst2Counter in range(len(lst2)):
if lst1[0] == lst2[0]:
lst1Counter+=1
lst2Counter+=1
else:
lst2Counter+=1
if lst1Counter not in range(len(lst1)):
return True
else:
return False
列表的重点是看第一个列表是否是第二个列表的子列表。一切都准备好了,除了一个测试。
duplist([15,1,100],[20,15,30,50,1,100])==True
我总是返回 False。这一定是一个小的语法/缩进错误 - 但我无法在任何地方找到它。有人能指出我正确的方向吗?
【问题讨论】:
-
您只比较两个列表的第一个元素。
-
您有什么建议吗?它适用于所有其他测试。逻辑是它检查两个列表的第一个索引。如果它们不匹配,则将 1 增加到第二个列表。如果它们都匹配,则将每个加 1 并继续。我认为这是一个需要做出的非常小的改变
-
递增计数器...然后再次比较 first 元素。
-
“它适用于所有其他测试”意味着很少。为这类事情提供的测试用例经常很糟糕。
-
你认为这些零是什么意思?
标签: python syntax indentation