你好,我正在尝试学习Python, 在 C++ 中,从标准输入读取字符串我只需这样做
string str;
while (cin>>str)
do_something(str)
但是在Python中,我必须使用
line = raw_input()
然后
x = line.split()
然后我必须循环遍历列表 x 来访问每个 str do_something(str)
这似乎有很多代码只是为了让每个字符串由一个或多个空格分隔 所以我的问题是,有没有更简单的方法?
最佳答案
Python 不会为您特殊处理这种特定形式的输入,但为其制作一个小生成器当然很简单:
def fromcin(prompt=None):
while True:
try: line = raw_input(prompt)
except EOFError: break
for w in line.split(): yield w
然后,在应用程序代码中,使用 for
语句进行循环(通常是在应用程序代码级别循环的最佳方法):
for w in fromcin():
dosomething(w)
关于python - 如何简单地从标准输入读取由空格或空格分隔的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3464212/