如何从用户输入创建文本在每个空间开始一个新行?

时间:2013-11-14 02:07:09

标签: python string split spaces

基本上我希望用户输入中的每个新单词都在下一行,所以像“Hello World”这样的句子将显示为

"Hello"
"World"

这是我目前的剧本:

EnterString = input("Enter the first word of your sentence ")
e =(EnterString)
e2 =(e.split(" "))
print (e2)

哪会得到结果:

['Hello', 'world']

如何让Python检测空格并相应地对齐单词?

提前致谢。

3 个答案:

答案 0 :(得分:2)

当您在空格上分割输入时,您将获得每个“新”单词的列表 然后,您可以使用循环打印出每个。

for word in e2:
   print(word)

答案 1 :(得分:2)

使用join method

 print("\n".join(e2))

答案 2 :(得分:0)

根据您的print语法以及使用input而非raw_input的事实来判断,我相信这是Python 3.x.如果是这样,那么你可以这样做:

print(*e2, sep="\n")

参见下面的演示:

>>> EnterString = input("Enter the first word of your sentence ")
Enter the first word of your sentence Hello world
>>> e = EnterString
>>> e2 = e.split()
>>> print(*e2, sep="\n")
Hello
world
>>>

以下是*的{​​{3}}。

此外,str.split默认分割为空格。所以,您只需要e.split()


但是,如果您实际上是在Python 2.x(即Python 2.7)上,那么您还需要将此行放在脚本的顶部:

from __future__ import print_function

以上内容将使print与Python 3.x中的一样,允许您在我演示时使用它。

相关问题