将用户输入存储在列表中并编写循环以从该列表中查找有效值

时间:2017-03-31 13:15:18

标签: python python-3.5

新编码...... 我是一名学生,其任务是编写一个代码,要求用户输入一系列值,我将存储在一个列表中,然后要求输入一个值(继续这个直到用户输入完成),然后检查确定是否在有效值列表中找到它。

我假设这可以用一个真正的循环来完成输入,直到'done'被输入并且我假设使用'if'进行搜索并且'in'将完成第二部分。

我正在努力使用输入列表找到一段时间。我正在使用整数输入。我在比较条件是否继续循环?

任何帮助表示赞赏!下面的代码是我写的测试,如果我可以将输入存储在列表中,但是真实的是我正在努力比较什么。

while True:
    if list_of_inputs
list_of_inputs = input("Write numbers: ").split()
list_of_inputs = list(map(int , list_of_inputs))
print (list_of_inputs)

2 个答案:

答案 0 :(得分:0)

Python 3.x

list_of_inputs = list()
while True:
    var = input("Enter Number or type 'done' to exit :")
    if var.lower() == 'done':
        print(" Your inputs are: ",list_of_inputs)
        exit()
    else:
        list_of_inputs.append(int(var))

确保缩进在python代码中是正确的。

答案 1 :(得分:0)

这里有一些代码可以完成您在评论中描述的内容。

我们使用两个while循环。第一个逐个获取输入行,并将它们添加到list_of_inputs。如果读取由字符串“done”组成的行,我们就会跳出循环,并且将“done”添加到列表中。

第二个循环获取输入行并测试它们是否存在于list_of_inputs中,打印相应的消息。如果用户在list_of_inputs中输入 的行,我们就会退出循环并且程序结束。

print('Please enter values for the list, one value per line')
print('Enter "done" (without the quotes) to end the list')

list_of_inputs = []
while True:
    s = input('value: ')
    if s == 'done':
        break
    list_of_inputs.append(s)

print('Here is the list:')
print(list_of_inputs)

while True:
    s = input('Please enter a test value: ')
    if s in list_of_inputs:
        print('Yes!', repr(s), 'is in the list')
        break
    else:
        print('No', repr(s), 'is NOT in the list')    

试运行

Please enter values for the list, one value per line
Enter "done" (without the quotes) to end the list
value: abc def
value: ghi
value: jkl
value: done
Here is the list:
['abc def', 'ghi', 'jkl']
Please enter a test value: def
No 'def' is NOT in the list
Please enter a test value: ghij
No 'ghij' is NOT in the list
Please enter a test value: jkl
Yes! 'jkl' is in the list