如何在一行中读取由空格分隔的两个输入?

时间:2010-11-12 08:32:43

标签: python

我想读两个输入值。第一个值应该是一个整数,第二个值应该是一个浮点数。

我看到Read two variables in a single line with Python,但仅当两个值都是相同类型时才适用。我还有其他办法吗?

示例输入,首先是int,第二个是float。输入应该在一行上:

20 150.50

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

我是Python的新手。

12 个答案:

答案 0 :(得分:21)

像这样:

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

你不能用一个单行程(或者至少没有一些超级duper额外的hackz0r技能 - 或分号)这样做,但python不适用于单行。

答案 1 :(得分:4)

一个班轮:)

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

答案 2 :(得分:3)

更简单的一个班轮(但不太安全):

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

答案 3 :(得分:1)

如果输入用空格分隔" "

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

如果输入用逗号分隔,'

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

答案 4 :(得分:1)

下面的代码段对我有用。

class

答案 5 :(得分:0)

在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 :(得分:0)

如果您希望输入尽可能多的输入,请执行以下操作:

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

如果需要两个输入:

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

答案 7 :(得分:0)

这是个不错的解决方案,a, b = input().split()

如果要用自定义字符分隔输入,可以将其放在括号中,例如a, b = input().split(",")

答案 8 :(得分:0)

读取3个以空格分隔的输入...

arr = input().split(" ")
A = float(arr[0])
B = float(arr[1])
C = float(arr[2])
print(A)
print(B)
print(C)

答案 9 :(得分:0)

Python 3.5

以下代码段对我有用。

a, b = input().split(" ")
a_value = int(a)
b_value = int(b)

答案 10 :(得分:-1)

基本上你只需要使用 map 函数并传递你需要转换的数据类型的用户定义函数。

code

您甚至可以使用它来将其转换为其他数据类型

答案 11 :(得分:-2)

map(str,input().split())就是这样做的。