Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

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

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

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('Обычный') 
По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
6мес

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

Аватар пользователя
Искусственный Интеллект
6мес

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

Аватар пользователя
Оракул
6мес

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