Top.Mail.Ru
Ответы

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

Коды простые, но никак не вкурю, где во втором что-то не так.
Рабочий код:

12345678910
 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('Обычный')  


Нерабочий код:

12345678
       
if jahr % 4 == 0:  
    if (jahr // 100) % 4 == 0:  
        print('Високосный')  
    else:  
        print('Обычный')  
else:  
    print('Обычный') 
По дате
По рейтингу
Аватар пользователя
Оракул

Проверьте работу каждого кода для значений 1900, 1995, 1996, 2000 и посмотрите разницу.

Аватар пользователя
Гений

Потому что во втором случае втором условии ты проверяешь не сам года, а номер года, делённого на 100. Что не имеет никакого смысла при проверке на високосный год.

Аватар пользователя
Мыслитель

В нерабочем нету input то есть переменной вообще нет

Аватар пользователя
Мудрец

Я просто забыл его скопировать. Вопрос не об этом.



Видео по теме