我正在尝试回答Spotify问题Best Before,我的代码可以正常运行我能想到的每个测试用例。但是,根据他们的服务器,我错了。
任何人都可以告诉我我的代码出错了吗?
这是我的代码:
from itertools import permutations
import datetime
import fileinput
def checkdate(d,m,y):
"""Gets possible values for day, month and year
and generates valid permutations of dates"""
b = permutations([d,m,y])
for p in b:
try:
yield datetime.date(p[0], p[1], p[2])
except ValueError:
yield None
def validvalue(a):
return a > 0 and a <= 2999
c = raw_input()
d,m,y = c.split('/')
d,m,y = int(d), int(m), int(y)
if validvalue(d) and validvalue(m) and validvalue(y):
valid = [x for x in checkdate(d,m,y) if x is not None]
if valid:
print "2" + str(min(valid))[1:]
else:
print "%s is illegal" % c
else:
print "%s is illegal" % c
答案 0 :(得分:3)
从问题描述:
2000可以给出为“2000”,“00”或“0”
您的代码不接受00
或0
作为有效年份。