为什么以及如何在 Python 中多行输入工作



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

  • 如何在 Python 中读取多行原始输入?
  • 如何从用户获取多行输入 [重复]

现在代码读取多行:

'''
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)

我怎么理解:

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

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

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


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


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

以下是这一切的概要 第一行(从 line_holder = [] 开始(将line_holder声明为数组,用于需要添加行的情况。

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

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

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

但是,如果 line(else( 中没有任何内容,那么它会中断循环,然后启动一个 for 循环,即 for line in line_holder,它只是将第一行、第二行等分配给变量行,然后打印它,直到line_holder没有任何位置留在其中。

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

相关内容

  • 没有找到相关文章

最新更新