2009-12-27 40 views
0

我還在學習,所以請原諒,如果這聽起來像一個愚蠢的問題。是否可以定義輸入時間,如時間,日期,貨幣或應該手動驗證的時間?例如像:在Python中指定input()類型?

morning = input('Enter morning Time:') 
evening = input('Enter evening Time:') 

..我需要(只)一次來這裏,我怎麼確保用戶在輸入XX:XX格式,其中XX只能爲整數。

非常感謝

回答

7

input(在Python凡因)將返回任何式的用戶類型的類型。更好的(在Python凡因)是使用raw_input,它返回一個字符串,並做轉換自己,如果轉換失敗,則捕獲TypeError

Python 3.any的input的工作方式與2.any的raw_input類似,即它返回一個字符串。

+0

的raw_input ..except不會在Python3.1 :( – 3zzy 2009-12-28 11:11:51

+0

@Nimbuz,工作'input'在3.1作品就像'在2 raw_input' *。 – 2009-12-28 15:39:51

0

你不能真的強制input函數返回某種類型。最好寫一些包裝器,它從用戶那裏讀取一些輸入,然後將其轉換爲適合您應用程序的適當類型(或者在發生錯誤時拋出異常)。

另外,正如Alex所說,最好使用raw_input作爲用戶輸入,因爲它總是將輸入的值作爲字符串返回。更易於管理。

-1
morning = str(input('Enter morning Time:')) 
evening = str(input('Enter evening Time:')) 
+3

這個答案簡直比已經出現惡化的答案 - 最好在Python 2中使用try-catch,而在Python 3中'input'是_already_的一個字符串。 – miradulo 2016-06-11 18:06:41