在 C ++ 中,我可以像这样输入:
cin >> a >> b >> c;
a
可以是int
,b
可以是float
,c
也可以是......我如何在< EM>蟒
input()
和raw_input()
,我使用它们的方式,似乎没有给我预期的效果。
答案 0 :(得分:4)
您通常不应在生产代码中使用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):
)
答案 1 :(得分: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
答案 2 :(得分:0)
根据您的操作,getopt模块之类的内容可能会有用,但仅限于某些情况,我不确定它是否适用于您的。