提问人:user10096 提问时间:9/18/2008 最后编辑:Azat Ibrakovuser10096 更新时间:12/23/2018 访问量:2042
在 Python 中,您如何获取标记化输入,例如使用 C++?
In Python, how do you take tokenized input such as with the C++?
问:
在 C++ 中,我可以像这样输入:
cin >> a >> b >> c;
可以是,可以是,可以是任何东西......如何在 python 中做同样的事情?a
int
b
float
c
input()
而且,我使用它们的方式似乎并没有给我带来预期的结果。raw_input()
答:
4赞
2 revs, 2 users 71%bb
#1
通常不应在生产代码中使用。如果你想要一个,然后一个,试试这个:input()
int
float
>>> line = raw_input().split()
>>> a = int(line[0])
>>> b = float(line[1])
>>> c = " ".join(line[2:])
这完全取决于您到底要完成什么,但请记住,可读性很重要。晦涩难懂的单行字可能看起来很酷,但面对可维护性,请尝试选择一些明智的:)
(P.S.:不要忘记检查错误try: ... except (ValueError, IndexError):
)
0赞
Paul Wicks
9/18/2008
#2
根据您正在做的事情,像 getopt 模块这样的东西可能有用,但仅限于某些情况,我不确定它是否适用于您的。
3赞
S.Lott
9/18/2008
#3
由于 C++ cin 从 sys.stdin 读取,因此您通常会执行以下操作。
import sys
tokens= sys.stdin.read().split()
try:
a= int(token[0])
b= float(token[1])
except ValueError, e:
print e # handle the invalid input
评论