如何使用空行获取多行输入 - Python

时间:2017-07-13 10:41:18

标签: python python-3.x input

我可以通过此循环获得Multiline输入,但只要有空行

就会停止
    lines = []
    line = input()
    while True:
        if line:
            line = input()
            lines.append(line)

        else:
            return lines
            break

例如我怎么能得到

的输入
1 cup butter, melted
3 cups white sugar
1 tablespoon vanilla extract
4 eggs


1 1/2 cups all-purpose flour
1 cup unsweetened cocoa powder
1 teaspoon salt
1 cup semisweet chocolate chips 

2 个答案:

答案 0 :(得分:4)

您需要使用某些内容来标记输入的结尾。 现在你的代码停在空行上。因为line将获得评估为False的空值“”。所以你的迭代会中断。 你可以用一个标记。例如,end_of_list;

lines = []
line = input()
while True:
    if line != 'end_of_list;': 
        line = input()
        lines.append(line)

    else:
        return lines
        break

您还可以添加更多条件以避免添加空白值。这取决于你的目标。

答案 1 :(得分:1)

这是因为     if line =“”(空文本)

您的IF LINE:将其断言为False,然后返回行并中断

如果

,请尝试改变你
if line or line == "":