-1

在你报告我重复之前,让我链接类似的主题,这些主题说明如何编写代码,但不要说明它是如何工作的:

现在读取多行的代码:

'''
input data:
line 1
line 2
line 3
'''

line_holder = []

while True:
    line = input("\nPlease paste here lines :\n")
    if line:
        line_holder.append(line)
    else:
        break
for line in line_holder:
    print(line)

我是怎么理解的:

  • 循环将重复直到“break”语句
  • 在输入中,我们粘贴多行存储在某种队列中
  • 如果输入队列中有任何东西可以使用
  • 将此队列中的第一个值添加到列表中
  • 如果什么都没有,用“break”终止循环
  • 最后,打印我们从队列输入添加到列表的内容

因此,如果有输入队列,我还能如何到达它?它是如何存储在计算机上的,为什么我需要建立列表才能看到它?

4

2 回答 2

1

So if there is a queue of inputs, how else can I reach it?
正如所写的那样,您的循环不会访问队列- 从...input获取输入stdin,通常是用户从键盘输入的数据。

How is it stored on the computer ...?
假设您指的是不存在的队列(见上文),但是当您追加line到列表时,您将该行存储在列表中。

... and why do I need to build list, to see it?
你不知道——你可以打印该行来查看它,但如果你想稍后使用该数据,你必须将它放在某种容器中,并且列表很方便。

于 2018-09-26T19:28:24.617 回答
-1

这是所有内容的概要 第一行(从 line_holder = [] 开始)将 line_holder 声明为一个数组,以便在您需要添加行时使用。

然后 while True 使它成为一个无限循环(除非在循环内另有指示)

循环内部是一个输入,它被分配给变量'line'

然后它检查 line 中是否有任何东西(如果 line),如果有,它将“line”的内容添加到已经声明为 line_holder 的数组中。

但是,如果 line(else) 中没有任何内容,则它会中断循环,然后开始一个 for 循环,即 line_holder 中的 line,它只是将第一行、第二行等分配给变量 line,然后打印它,直到line_holder 里面没有任何位置。

希望这为您解决了问题,任何问题只需添加评论。

于 2018-09-26T19:11:57.163 回答