Как читать два входа, разделенных пробелом в одной строке?

Я хочу прочитать два входных значения. Первое значение должно быть целым числом, а второе значение должно быть с плавающей точкой.

Я видел чтение двух переменных в одной строке с Python, но это применимо, только если оба значения имеют один и тот же тип. Есть ли у меня другой способ?

Пример ввода: сначала int, а второй float. Входные данные должны быть в одной строке:

20 150.50

http://www.codechef.com/problems/HS08TEST/

Я очень новичок в Python.

Ответ 1

Вот так:

In [20]: a,b = raw_input().split()
12 12.2

In [21]: a = int(a)
Out[21]: 12

In [22]: b = float(b)
Out[22]: 12.2

Вы не можете сделать это в однострочном (или, по крайней мере, не без лишних дополнительных навыков hackz0r - или с запятой), но питон не создан для однострочных.

Ответ 2

Один вкладыш:)

>>> [f(i) for f,i in zip((int, float), raw_input().split())]
1 1.2
[1, 1.2]

Ответ 3

Упрощенный один вкладыш (но менее безопасный):

map(eval, raw_input().split())

Ответ 4

Если вход разделяется пробелами ""

a,b,c = raw_input().split(" ")

Если вход разделяется запятой ','

a,b,c = raw_input().split(",")

Ответ 5

В Python 2.7 я использую этот

A,B = raw_input().split(" ")

A = int(A)

B = float(B)

print(A)

print(B)

Выход

34 6.9

34

6,9

Ответ 6

Если вы хотите принять столько входных данных, сколько хотите, выполните следующее:

    x=list(map(str,input().split())) 
    print(x)

Если вы хотите два входа:

   x,y=x,y=list(map(str,input().split()))
   print(x,y)

Ответ 7

map(str,input().split()) вот как вы это делаете.