我已经编程了三个星期。我现在仍然坚持这个问题:
我们将通过您2个输入:
数字列表
要查找的数字N
您的工作是遍历列表并找到第二个输入中指定的数字。输出列表元素索引,找到数字。
如果在列表中找不到N,则输出-1。
这是我到目前为止所做的:
提供了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语句,但是根本不会打印它。有什么建议?
答案 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)