2016-10-21 32 views
-1

起初我们不知道我们有多少投入要采取和输入的格式如下以多用户输入

sam 
edward 
harry 

到目前为止,我还采用分体式()和splitlines(试图)

给出
queryName = input().split('\n') 
print(queryName) 

它只给出['山姆']和相同的结果是为分裂线()。 我们如何将所有这些值作为输入?

+4

你怎么会知道什么时候输入结束? –

+0

我在引用问题陈述“您将收到未知数​​量的姓名以查询您的电话簿”,并以上述格式给出,即每行一个名称 – Khurshid

回答

2

input读取一行输入。你需要阅读一个循环。

在这里,我假定一个空的输入(即相继两个新行)指输入的结束:

result = [] 
while True: 
    s = input() 
    if s: 
     result.append(s) 
    else: 
     break 
1

这将让从标准输入所有行。这意味着它不应该是互动的,因为这永远不会结束,例如它应该从文件或进程传送。

import sys 
lines = list(sys.stdin) 

或者:

for line in sys.stdin: 
    # do something with line 
0

你最好的选择是只用一个简单的while循环:

lines = [] 
while True: 
    line = input() 
    if not line: 
     break 
    lines.append(line)