簡體   English   中英

如何使用空行獲取多行輸入-Python

[英]How to get multiline input with empty lines - Python

我可以通過此循環獲取多行輸入,但是一旦有空行它就會停止

    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 

您需要使用一些東西來標記輸入的結尾。 現在,您的代碼停在空行上。 因為line獲得評估為False的空白值。 這樣您的迭代就中斷了。 您可以使用標記。 例如, end_of_list;

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

    else:
        return lines
        break

您還可以添加更多條件以避免附加空白值。 這取決於您的目標。

發生這種情況的原因是,如果line =“”(空文本)

您的IF LINE:將其置為False,然后返回行並中斷

所以如果你想改變你

if line or line == "":

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM