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

21 投票
13 回答
142043 浏览
提问于 2025-04-16 06:58

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

我看到过一个链接,讲的是如何用Python在一行中读取两个变量,但那个方法只适用于两个值都是同一种类型的情况。我还有其他方法吗?

输入示例,第一个是整数,第二个是浮点数。这两个输入应该在同一行:

20 150.50

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

我对Python还很陌生。

13 个回答

4

更简单的一行代码(但安全性较低):

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

一行代码搞定 :)

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

像这样:

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

你不能用一行代码来实现这个(或者说,除非你有一些超级厉害的黑客技能——或者用分号),不过其实Python并不是为了写一行代码而设计的。

撰写回答