2015-09-25 53 views
0

我得到一個錯誤錯誤在Visual Studio中輸入日期的Python當2015年

必須是字符串,而不是詮釋

對於這兩行代碼。

userInput = input("Please enter your birthday (mm/dd/yyyy)") 
birthday = datetime.datetime.strptime(userInput, '%m/%d/%Y').date() 

這個問題似乎是與可變userInput,但是從示例和教程我在網上看到,這應該是工作。

Screenschot

如何解決這個問題?

回答

1

變化

userInput = input("Please enter your birthday (mm/dd/yyyy)") 

userInput = raw_input("Please enter your birthday (mm/dd/yyyy)") 

,因爲你原來的輸入計算,如果是實行一個部門的日期。

編輯:我不使用Visual Studio,但以防萬一,這是我怎麼想出來的。

  1. 的錯誤是告訴我,userInput是不是返回字符串的一個int,所以我通過運行userInput代碼在Python控制檯檢查它。

  2. 我查了一下userInput收集:

    打印userInput

  3. 它返回0,所以我意識到這是做一個整數除法。

  4. 我使用了「Python字符串用戶輸入」,它返回了StackOverflow的鏈接,這是我得到答案的地方。

1

input處理用戶輸入的代碼。因此,如果輸入012,024,,Python會將其作爲25的9除以及2015之後的差值。您可以print userInput並查看它是0。 必須用引號(以字符串形式)輸入日期或使用raw_input

BTW打印變量似乎會導致問題是一個很好的調試方法。

0

Python 2.7和Python 3版本似乎存在一些不一致之處。我使用的是Python 2.7,而我遵循的教程是使用Python 3+,在這種情況下,input()的工作方式應該是這樣。