在Python中,如何使用标记化输入(例如C ++)?
时间:2020-03-06 14:19:21 来源:igfitidea点击:
在C ++中,我可以像这样进行输入:
cin >> a >> b >> c;
并且a可以是int,b可以是float,而c可以是任何东西...我该如何在python中做同样的事情?
input()和raw_input()(我使用它们的方式)似乎并没有给我想要的结果。
解决方案
通常,我们不应该在生产代码中使用" input()"。如果我们想要一个int然后是一个float,请尝试以下操作:
`
>>> line = raw_input().split() >>> a = int(line[0]) >>> b = float(line[1]) >>> c = " ".join(line[2:])
`
这完全取决于我们要完成的工作,但请记住,可读性很重要。晦涩的单线似乎很酷,但面对可维护性,请尝试选择明智的方法:)
(PS:不要忘了尝试尝试以下错误:...(ValueError,IndexError):除外)
根据工作,类似getopt模块的功能可能会有用,但仅在某些情况下,我不确定它是否适用于情况。
由于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