Как читать два входа, разделенных пробелом в одной строке?
Я хочу прочитать два входных значения. Первое значение должно быть целым числом, а второе значение должно быть с плавающей точкой.
Я видел чтение двух переменных в одной строке с 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())
вот как вы это делаете.