Python使用循环来搜索N数和返回索引

时间:2017-11-19 19:43:07

标签: python list loops indexing

我已经编程了三个星期。我现在仍然坚持这个问题:

我们将通过您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))

mycode的

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语句,但是根本不会打印它。有什么建议?

3 个答案:

答案 0 :(得分:2)

感谢您的意见和解答。稍微搞砸了一下之后,最终提供了正确的输出:

我的代码:

if N in numbers: 
    print (numbers.index(N))
if N not in numbers: 
    print(-1) 

输出:

节目输出

输入:1,3,11,42,12 42 你的输出:3 挑战反馈

干得好!

答案 1 :(得分:0)

import sys
N= int(sys.argv[2])


print "\n"

numbers= []
for i in sys.argv[1].split(","):
    if(i.isdigit()):
        numbers.append(int(i))
        print i 


i = 0


for num in numbers:

    if num == N:
        print "number found at index %d " % (i)

    i+=1

使用python program_name.py [,x,y,z,l,m,n,] N运行此处,其中x,y,z,l,m,n是列表中的数字,N是您搜索的数字(请注意[,,]

答案 2 :(得分:-1)

if N in numbers :
  for num in range(len(numbers)) :
    if numbers[num] == N :
      print(num)
else :
  print(-1)