在C++中,我可以採取如下輸入:在Python中,如何使用標記化輸入(例如C++)?
cin >> a >> b >> c;
而且可以是int,b可以是float,c可以是任何......我如何在python中做同樣的事情?
input()和raw_input(),我用它們的方式,似乎沒有給我想要的結果。
在C++中,我可以採取如下輸入:在Python中,如何使用標記化輸入(例如C++)?
cin >> a >> b >> c;
而且可以是int,b可以是float,c可以是任何......我如何在python中做同樣的事情?
input()和raw_input(),我用它們的方式,似乎沒有給我想要的結果。
您通常不應在生產代碼中使用input()
。如果你想要一個int然後一個浮點數,試試這個:
>>> line = raw_input().split()
>>> a = int(line[0])
>>> b = float(line[1])
>>> c = " ".join(line[2:])
這一切都取決於你想要完成什麼,但要記住可讀性是重要的。模糊的單線看起來很酷,但面對可維護性,請嘗試選擇合適的東西:)
(PS:不要忘記用try來檢查錯誤:... except(ValueError,IndexError):)
取決於你在做什麼,像getopt模塊這樣的模塊可能是有用的,但只在某些情況下,我不確定它是否適用於你。
由於C++ cin從sys.stdin中讀取,您經常會做更類似於以下的操作。
import sys
tokens= sys.stdin.read().split()
try:
a= int(token[0])
b= float(token[1])
except ValueError, e:
print e # handle the invalid input
你能否更好地描述你從raw_input()得到的結果是不是「所需的」?這聽起來很像你應該在這裏想要的。 – Glyph 2008-09-21 17:01:39