问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
思路:
用一个循环检查待查找的数是否在数列中。用一个标识符flag代表有没有在列表中检查到这个数。在的话输出编号,不在输出-1。
代码如下:
n=int(input())
numlis=list(map(int,input()[:-1].split(' ')))
NumToFind=int(input())
flag=0
for i in range(len(numlis)):
if NumToFind == numlis[i]:
print(i+1)
flag=1
break
if flag != 1:
print(-1)
最开始写出来的代码提交上去老是不正确,然后看了老半天发现第二行输入的时候每个数字后面都带了空格,包括最后一个数字后面也有空格。服了。所以在输入到numlis的时候要把字符串的最后一个字符给去掉才能正常运行。我谢谢它。