Задача HackerRank написать функцию: тестовый пример 1 не пройден

Вы должны сделать это так, как вы описали. MongoDB является нереляционной базой данных и не поддерживает объединения.

1
задан manel bouazza 17 March 2019 в 23:13
поделиться

3 ответа

Мне нравится ваш лаконичный код оценки и возврата результата в одной строке кода! Однако в вашем коде есть две проблемы: 1) вместо проверки целого числа вы смотрите последние две цифры 2) Порядок логической оценки неверен. Попробуйте этот простой код

def is_leap(year):
    y=int(year)
    return  y%400==0 or (y%100 != 0 and y%4==0)
year = input()
print(is_leap(year))
0
ответ дан RebornCodeLover 17 March 2019 в 23:13
поделиться

Я не совсем уверен, почему ваш код не работает, но у меня есть решение:

def is_leap(year):
    if year%4 == 0:
        if year%100 == 0:
            if year%400 == 0:
                return True #divisible by 4, divisible by 100, and divisible by 400
            else:
                return False #divisible by 4 and divisible by 100
        else:
            return True #divisible by 4 and not divisible by 100
    else:
        return False #not divisible by 4

И чтобы проверить его:

for i in range(1000, 2501, 4):
    if not is_leap(i):
        print(str(i)) # this will print all the "irregular" leap years between 1000 and 2500

Кроме того, я ' Я не уверен, где вы запускаете этот код, но вопрос спрашивает логические значения (True или False), и вы вместо этого возвращаете годы, поэтому может быть, поэтому вы получаете ошибку. [115 ]

0
ответ дан Caleb Goodman 17 March 2019 в 23:13
поделиться

Проблема в том, что вы проверяете только последние две цифры, как видно из y=int(x[-2:]), что на самом деле нет причин для этого. Программные ограничения уже сообщают вам, что вводом будет int от 1900 до 10000, так что вы можете просто работать с годом. Кроме того, ваш оператор return будет оценивать or перед and (см. здесь ), поэтому последняя вещь, которую он проверяет, будет !=100, таким образом, нарушая его для случая 400. [ 116]

0
ответ дан Travis Williamson 17 March 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: