如何使用空行获取多行输入-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==”:
,则只需在行上迭代即可?所以如果是真的:
?但是我想不出一种方法,一旦它拥有了所有语言的自定义结束字符串,比如“!!”(任意)如果行不等于自定义结束字符串-执行代码-否则-断开有什么方法可以做到这一点而不需要用户进行标记?您可以计算断开行的数量。例如,两次或三次打断以标记结束。