2010-11-12 49 views
7

我想讀取兩個輸入值。第一個值應該是一個整數,第二個值應該是一個浮點數。如何讀取單行中由空格分隔的兩個輸入?

我看到Read two variables in a single line with Python,但它只適用於兩個值是相同類型。我有其他方法嗎?

示例輸入,第一個是int,第二個是float。輸入應該是在一行:

20 150.50 

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

我很新的Python的。

+2

答案的鏈接的問題是你最需要的答案。你有什麼嘗試? – SingleNegationElimination 2010-11-12 08:35:41

+0

我的第一個輸入應該是一個整數,第二個輸入應該是一個浮點數。 – 2010-11-12 08:42:32

+0

@TokenMacGuy錯誤是我的。我應該先閱讀doc的第一個:( – 2010-11-12 09:01:26

回答

16

像這樣:

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技能 - 或分號),但Python是不是一個製造-liners。

4

一個襯墊:)

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

請解釋該行的每個組成部分 – abhishah901 2018-03-06 09:03:34

3

簡單的一個襯墊(但不太安全):

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

map(str,input().split())那你是怎麼做到這一點。

1

如果輸入由空格 「」

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

如果輸入由逗號分隔 ''

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

分離在Python 2.7,我使用這個

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

A = int(A) 

B = float(B) 

print(A) 

print(B) 

輸出

34 6.9

6.9

相關問題