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

如何使用空行获取多行输入-Python,python,python-3.x,input,Python,Python 3.x,Input,我可以通过这个循环获得多行输入,但一旦有空行,它就会停止 lines = [] line = input() while True: if line: line = input() lines.append(line) else: return lines break 例如,我如何获得 1 cup butter, melted 3 cups

我可以通过这个循环获得多行输入,但一旦有空行,它就会停止

    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 
这是因为 if line=“”(空文本)

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

所以,如果你愿意,试着改变你

if line or line == "":

您需要使用一些东西来标记输入的结束。 现在你的代码停在空行上。因为<代码>行<代码>将获得空白值“”,该值“为false”。所以你的迭代中断了。 你可以用一个记号。例如,
end\u的\u列表

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

    else:
        return lines
        break

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

您是否正在尝试使用
raw\u input()
方法?您的程序何时停止?在什么条件下?@HarryTong您的程序如何知道它已经完成了输入?因为根据您的要求,只要有空字符串,您的程序就应该运行。您需要类似于
while line!='“完成”
然后在完成时键入“完成”?如何定义“结束”?您需要一些条件,或者从文件中读取它,如果line或line==”:
,则只需在行上迭代即可?所以
如果是真的:
?但是我想不出一种方法,一旦它拥有了所有语言的自定义结束字符串,比如“!!”(任意)如果行不等于自定义结束字符串-执行代码-否则-断开有什么方法可以做到这一点而不需要用户进行标记?您可以计算断开行的数量。例如,两次或三次打断以标记结束。