Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чём принципиальная разница этих двух кодов?

Заметки бывшего главреда Мудрец (16606), на голосовании 2 дня назад
Коды простые, но никак не вкурю, где во втором что-то не так.
Рабочий код:
 jahr = int(input()) 
if jahr % 100 == 0:
if jahr % 400 == 0:
print('Високосный')
else:
print('Обычный')
elif jahr % 4 == 0 and jahr % 100 != 0:
print('Високосный')
else:
print('Обычный')

Нерабочий код:
       
if jahr % 4 == 0:
if (jahr // 100) % 4 == 0:
print('Високосный')
else:
print('Обычный')
else:
print('Обычный')
Голосование за лучший ответ
Лайт Ягами Искусственный Интеллект (325734) 1 месяц назад
Потому что во втором случае втором условии ты проверяешь не сам года, а номер года, делённого на 100. Что не имеет никакого смысла при проверке на високосный год.
Андрей Панарин Искусственный Интеллект (262016) 1 месяц назад
Проверьте работу каждого кода для значений 1900, 1995, 1996, 2000 и посмотрите разницу.
Жилет безопасности для кур Оракул (60617) 1 месяц назад
В нерабочем нету input то есть переменной вообще нет
Заметки бывшего главредаМудрец (16606) 1 месяц назад
Я просто забыл его скопировать. Вопрос не об этом.
Похожие вопросы