Python:如何获取多行输入数据并将其放入lis中

2024-04-25 00:49:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这可能是一件非常简单的事情,但我似乎被难住了。 无论如何,对于赋值,我必须让用户输入数据点的数量(N),然后输入数据点本身。然后,必须以与输入相同的方式打印它们(一个数据点/行),然后将它们放入单个列表中供以后使用。这是我目前掌握的情况

N = int(input("Enter number of data points: "))
lines = ''
for i in range(N):
   lines += input()+"\n"
print(lines)

n=4的输出(用户输入1(回车)2(回车)…4并打印以下内容:

1
2
3
4

所以这是可行的,看起来很完美,但是我现在需要将这些值转换成一个列表,以便稍后在程序中进行一些统计工作。我试过创建一个空列表并将行放入其中,但是/n格式似乎会把事情搞砸。或者我得到列表索引超出范围错误。 非常感谢您的帮助!你知道吗


Tags: of数据用户number列表inputdata数量
3条回答

只需将所有输入添加到列表中,然后使用join函数,如下所示:

'\n'.join(inputs)

当你想打印的时候。这将为您提供一个字符串,其中列表的每个成员用您选择的分隔符分隔,在本例中为换行符。你知道吗

这样,您就不需要向从用户获得的值添加任何内容。你知道吗

您可以尝试先将所有数据附加到一个列表中,然后逐行打印其中的每一项,使用for循环打印每一行,这样就不需要将它与"\n"连接起来

N = int(input("Enter number of data points: "))    
data = []
for i in range(N):
    item = data.append(input())

for i in data:    
    print(i)

把每一个新的输入直接添加到一个列表中,然后打印出来怎么样。你知道吗

像这样:

N = int(input("Enter number of data points: "))
lines = []
for i in range(N):
    new_data = input("Next?")
    lines.append(new_data)

for i in lines:
    print(i)

现在,每一项都被打印在一个新行中,并且您有一个列表要处理。你知道吗

相关问题 更多 >