2015-09-25 72 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()的工作方式应该是这样。