2016-04-25 25 views
2

我已經看過這個鏈接和其他幾個,但他們似乎主要關注Python版本二: Two values from one input in python? (注意:就像鏈接中的提問者一樣以上,我也編碼在C)一種在Python中同時使用兩種不同輸入類型的方法3.4

是否有一個版本3相當於所有這一切?如果我寫代碼:

integer_n, float_n = int(input("Enter a integer and float: ")) 

#And the user enters: 
#4, 5.5 

因爲python隱式地將一個整數轉換爲一個浮點數,這應該工作。但我從IDE獲取錯誤。

回答

0

你可以這樣說:

integer1, float1 = input("Enter an integer and float:").split() 

中當然這只是一個簡單的例子,它不檢查數據類型。

+0

我現在看到了問題,當print函數一次接受兩個值時,我們不得不像你的例子那樣使用分割函數。但是,我們第一次存儲這兩個值時的類型是字符串類型,而不是整數或浮點數。所以我們不得不稍後手動將它們轉換爲float或integer來對它們使用簡單的算術。所以這意味着當我接受輸入時,不要在該行上轉換輸入,而應該將它作爲輸入。多謝 –

3

輸入函數返回一個字符串,因此您需要在讀取它們形式stdin後轉換對象的類型。而作爲一個更安全的方法,你最好單獨獲得的數量和使用try-除了表達,以處理意外的錯誤:

while True: 
    try: 
     integer_n = int(input("Enter an integer:")) 
     float_n = float(input("Enter a float: ")) 
    except ValueError: 
     print("Please enter valid numbers.") 
    else: 
     break 
+1

我同意這個問題。沒有辦法解決這個問題,而不解析用戶輸入,這可能很麻煩。分別取每個數字會更好,並且會減少用戶的一個關鍵筆劃。 – Igor

相關問題