Python 脚本在CodeCademy中工作,但不在命令行中工作

Python 脚本在CodeCademy中工作,但不在命令行中工作,python,command-line,python-3.6,Python,Command Line,Python 3.6,我是一个新手程序员,自学Python使用CodeCademy。我自己写了一个脚本,以检查迄今为止我所学到的知识。这个脚本的目的是根据用户输入的日期打印某个周末可用的人的姓名,并与我在脚本中编写的日期列表交叉引用 奇怪的是,这个脚本的功能完全符合CodeCademy的Python环境的预期,没有错误。它每次都返回我期望的结果。但是,当我试图通过命令行在计算机上使用Python 3.6.1手动运行脚本时,情况并非如此。相反,无论发生什么情况,它每次都返回相同的结果。这是我的密码: #script t

我是一个新手程序员,自学Python使用CodeCademy。我自己写了一个脚本,以检查迄今为止我所学到的知识。这个脚本的目的是根据用户输入的日期打印某个周末可用的人的姓名,并与我在脚本中编写的日期列表交叉引用

奇怪的是,这个脚本的功能完全符合CodeCademy的Python环境的预期,没有错误。它每次都返回我期望的结果。但是,当我试图通过命令行在计算机上使用Python 3.6.1手动运行脚本时,情况并非如此。相反,无论发生什么情况,它每次都返回相同的结果。这是我的密码:

#script to tell who is free on a certain weekend
input_date = input("Please input the weekend on which you are looking for in         
the format mm.dd (ex. weekend of June 30th is 06.30): ")
ben_dates = [06.16,06.23,06.30,07.07,07.14,08.04,08.11]
david_dates = [06.16,06.23,06.30,07.14,07.28,08.04,08.11]
danyall_dates = [06.30,07.07,07.14,07.21,07.28,08.04,08.11]
kevin_dates= [06.16,06.23,06.30,07.07,07.14,07.21,07.28,08.04,08.11,08.18]
manan_dates=[06.16,07.14,07.21,07.28,08.04]
jack_dates=[06.30,07.07,07.14,07.21,07.28,08.04]

free_people = "The people free on this date are: "
free_people_orig = free_people


for date in ben_dates:
  if input_date == date:
    free_people = free_people + "Ben, "


for date in david_dates:
  if input_date == date:
    free_people = free_people + "David, "

for date in danyall_dates:
  if input_date == date:
    free_people = free_people + "Danyall, "

for date in kevin_dates:
  if input_date == date:
    free_people = free_people + "Kevin, "

for date in manan_dates:
  if input_date == date:
    free_people = free_people + "Manan, "

for date in jack_dates:
  if input_date == date:
    free_people = free_people + "Jack, "

if len(free_people) == len(free_people_orig):
  free_people = "No one is free on this weekend."

print(free_people)
因此,例如,如果用户在CodeCademy上输入'06.30',程序将打印'这个日期的自由人是:Ben,David,Danyall,Kevin,Jack',这将是正确的结果

但是,如果在命令行中运行,相同的输入将打印“本周末没有人有空”,我完全不知道为什么会发生这种情况

我尝试了几种不同的while和for循环变体,使用if、elif和else语句,更改free_people字符串的条件和格式,以及触发它进行修改的内容,以及执行此特定解决方案的许多其他策略,但没有一种能够使脚本正常运行。我在这里做错了什么,它在CodeCademy中工作,但在我的计算机上不工作

另外,我知道这远远不是为这项任务创建脚本的最佳方式,即使这样,我的实现也肯定会更好。然而,我是一个初学者,我写这个脚本的主要目的是测试我通过编写一个脚本所学到的特定技能,这个脚本可能对我自己有一些基本的用途。我只想弄明白为什么这个特定脚本的特定版本不起作用


另外,这是我在StackOverflow上的第一篇文章,如果我的文章格式不正确,我深表歉意。

问题是你输入的是一个字符串,而它需要是一个浮点。列表中的每个元素都是浮动的,您试图查看这些列表中是否存在string类型的元素,即
False

试试这个:

input_date = float(input("Please input the weekend on which you are looking for in the "
                         "format mm.dd (ex. weekend of June 30th is 06.30): "))

问题是,您正在输入一个字符串,而它需要是一个float。列表中的每个元素都是浮动的,您试图查看这些列表中是否存在string类型的元素,即
False

试试这个:

input_date = float(input("Please input the weekend on which you are looking for in the "
                         "format mm.dd (ex. weekend of June 30th is 06.30): "))

输入日期是一个
str
,您试图将其与
float
s进行比较。输入日期是一个
str
,您试图将其与
float
s进行比较。这完全解决了问题,非常感谢!不客气。请考虑将此响应标记为“应答”,以便其他用户知道您的问题有答案。谢谢。我知道,我会尽快接受这个答案。StackOverflow会在10分钟内阻止我选择答案,而这段时间尚未结束。谢谢这完全解决了问题,非常感谢!不客气。请考虑将此响应标记为“应答”,以便其他用户知道您的问题有答案。谢谢。我知道,我会尽快接受这个答案。StackOverflow会在10分钟内阻止我选择答案,而这段时间尚未结束。非常感谢。