【发布时间】:2018-05-03 00:50:55
【问题描述】:
我总共编程了三周。我现在被这个问题困住了:
我们将向您传递 2 个输入:
数字列表
要查找的数字 N
您的工作是遍历列表并找到第二个输入中指定的数字。输出找到数字的列表元素索引。
如果在列表中没有找到 N,则输出 -1。
这是我目前所拥有的:
提供了import和N
import sys
N= int(sys.argv[2])
这也提供了
numbers= []
for i in sys.argv[1].split(","):
if(i.isdigit()):
numbers.append(int(i))
我的代码
for i in numbers:
if N in numbers:
print(i)
elif N not in numbers:
print(-1)
这会为随机数输入输出以下内容:
程序输入失败:1,3,11,42,12 2 预期输出:-1 你的程序输出:-1 -1 -1 -1 -1
这不起作用,并且对于不在列表编号中的每个编号 N 返回 -1。我曾尝试在打印之前和之后使用 break 语句,但这完全阻止了它的打印。有什么建议?
【问题讨论】:
-
当你在列表中循环时,你不想检查数字是否在列表中(你不需要循环);您想将数字与列表的当前项目进行比较并检查它们是否匹配。您的解决方案中还缺少另一件事:循环时告诉您当前位置的计数器,因此您可以在匹配时获取索引。
-
看看奇妙的
enumerate()函数,通过元素+索引对迭代列表。
标签: python list loops indexing