Python 基于用户输入在数组中查找元素
大家好,python和一般编程新手 我试图根据用户输入在数组中查找元素 这就是我所做的Python 基于用户输入在数组中查找元素,python,python-3.x,list,Python,Python 3.x,List,大家好,python和一般编程新手 我试图根据用户输入在数组中查找元素 这就是我所做的 a =[31,41,59,26,41,58] input = input("Enter number : ") for i in range(1,len(a),1) : if input == a[i] : print(i) 问题是它没有打印出任何内容。 我做错了什么 输入返回字符串a包含整数 您的循环从1开始,因此它永远不会针对a[0](在本例中为31)进行测试 您不应该重新定义名称
a =[31,41,59,26,41,58]
input = input("Enter number : ")
for i in range(1,len(a),1) :
if input == a[i] :
print(i)
问题是它没有打印出任何内容。
我做错了什么
输入
返回字符串<代码>a包含整数
您的循环从1开始,因此它永远不会针对a[0]
(在本例中为31)进行测试
您不应该重新定义名称
input
请不要声明变量input不是一个好的做法,而空格在Python中非常重要
a =[31,41,59,26,41,58]
b = input("Enter number : ")
for i in range(1,len(a),1):
if int(b) == a[i] :
print(i)
我认为您需要检查列表中的一个值,因此您的输入必须是Int。但输入将其作为字符串。您需要将其转换为int。
input
返回一个字符串。要使它们成为整数,请将它们包装在int
中
inp=int(input('enter :'))
for i in range(0,len(a)-1):
if inp==a[i]:
print(i)
列表中的索引从0开始到len(列表)-1
与其使用范围(0,len(a)-1)
不如使用枚举
for idx,val in enumerate(a):
if inp==val:
print(idx)
要检查inp
是否在a
中,您可以这样做
>>> inp in a
True #if it exists or else False
您也可以使用try except
try:
print(a.index(inp))
except ValueError:
print('Element not Found')
输入为您提供了一个str,但您正在比较一个INT列表。循环从1开始,但索引从0开始