【发布时间】:2022-11-27 00:58:56
【问题描述】:
所以基本上我试图比较两个列表,看看它们是否在任何时候在同一索引处持有相同的值。如果他们这样做,我返回索引,如果他们不这样做,我返回 -1。 `
Dlist = [17,13,10,6,2]
Ilist = [5,9,10,15,18]
def seqsearch(DS,IS):
for i in range(len(DS)-1):
found = False
if DS[i] == IS[i]:
answer = i
found = True
if found == True:
print(f"Yes! Found at index =", answer)
else:
return print("No!\n-1")
print(seqsearch(Dlist,Ilist))
`
当我第一次这样做作为测试时,我没有遇到任何问题,但是添加文本会使它变得更加困难,我的主要问题是 if else 语句。我似乎只能让一条消息起作用,是或否,而不是两者都基于案例。
【问题讨论】:
-
你打印
No对于每个不相同的元素.不要在循环中这样做 -
你设置了
found = True所以if found == True是总是会是真的。注意if found和if found == True是一样的,不需要做if正在做的工作,两次。 -
最后,你已经知道怎么
return了,返回不等于打印。如果您有答案,请返回索引。当您用完元素(循环完成)时,返回-1。在函数的末尾。 -
@MartijnPieters 如果不会太麻烦,您认为您可以编写一些示例代码吗?我通过分析代码并将其分解来学习得最好
标签: python list indexing comparison