




Обычно вы не должны использовать 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):)
В зависимости от того, что вы делаете, что-то вроде модуля 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
Можете ли вы лучше описать то, что «нежелательно» в результатах, которые вы получаете от raw_input ()? Это звучит именно так, как вам здесь нужно.