用户输入的Python搜索列表

时间:2015-05-11 12:19:21

标签: python

我正在尝试编写一个程序,该程序使用重复语句允许用户输入5个数字并将它们存储在列表中。然后允许用户在列表中搜索用户输入的数字并指出该数字是否有被发现与否。我非常坚持这一点,我已经做了尽可能多的努力

data =raw_input('Please input 5 numbers: ')
print data

search =raw_input('Search for the numer: ')
for sublist in data:
   if sublist[1] == search:
    print "Found it!", sublist
 break        

3 个答案:

答案 0 :(得分:1)

data是一个字符串,for循环将遍历此字符串中的每个字符。这可能不是你想要的。

如果要在整数列表中找到一个整数,split在空格上输入,并使用int将每个整数转换为整数。

ints = [int(x) for x in data.split()]
if int(search) in ints:
    print "Found it"

答案 1 :(得分:0)

您可以尝试这样的事情

/user/root/1.txt
/user/root/2.txt
/user/root/3.txt
/user/root/4.txt

您的代码表明您可能正在使用子列表,但目前还不清楚您是如何创建它们的。

答案 2 :(得分:0)

问题1 :此行将输入存储为变量data中的字符串。

data =raw_input('Please input 5 numbers: ')

此时需要将字符串拆分为列表,并将元素转换为整数。 如果用户输入以空格分隔的数字,您可以执行以下操作:

data_list = data.split() # if the numbers are comma-separated do .split(',') instead
int_list = [int(element) for element in data_list]

问题2:用户搜索输入应转换为整数

search =raw_input('Search for the numer: ')
search_int = int(search)

问题3:您尝试sublist[1]时无需索引子列表。 for循环应该是:

for sublist in int_list:
    if sublist == search_int:
        print "Found it!", sublist
        break