0

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
4

1 に答える 1

3

問題の説明から:

2000 は、「2000」、「00」、または「0」として指定できます。

00あなたのコードはまたは0を有効な年として受け入れません。

于 2012-04-16T16:55:02.390 に答える