1

我必须编写一个代码,逐行识别文本并反转输出中的每一行,我不知道如何输入多行文本(因为“input()”函数将在第一个“Enter”之后输入但我还想输入更多行?

第二我不知道如何逐行计算输入?谁应该“拆分(/ n)是一个选项?

4

2 回答 2

3

如果您需要通过终端以交互input()方式接收用户的多行输入,请在循环中使用该函数:

data = []
while True:
    line = input('Enter a line; leave it blank to stop: ')
    if not line:
        break
    data.append(line)

但是,如果您正在从管道读取(您的脚本用于从其他东西接收管道数据),请从读取sys.stdin而不是使用input(),因为您可以将其用作文件对象:

import sys

for line in sys.stdin:

或一口气将其全部读入列表:

lines = list(sys.stdin)

在这两种情况下,您都将行作为一个序列,您可以简单地使用len()来计算行数。

于 2013-08-31T08:48:46.727 回答
-1

输入多行:因此使用三个引号:“”“你好这是多行”“”

计算行数... len(text.split()) 或 len(text.split('\n')) 等

于 2013-08-31T08:27:15.193 回答