在你举报我重复之前,让我链接类似的主题,这些主题说如何编写代码,但不要说它是如何工作的:
- 如何在 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?
正如所写,您的循环不会访问队列 -input
从stdin
获取输入...通常是用户从键盘输入的数据。
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没有任何位置留在其中。
希望这能为您解决,任何问题只需添加评论即可。