Високосный год на Python
Есть рабочий код для определения того високосный год или нет. Вот:
def is_leap(year): leap = False if (year % 4) == 0: if (year % 100) == 0: if (year % 400) == 0: return True else: return False else: return True else: return False return leap year = int(input()) print(is_leap(year))
И есть такой, но он не работает, только если год равен 1992 , а с другими годами все окей.
def is_leap(year): leap = False if year%4==0 and year%100==0 and year%400==0: return True else: return False return leap year = int(input()) print(is_leap(year))
Объясните пожалуйста почему. Разве они не идентичны? Почему первый рабочий полностью, а второй частично? Спасибо.
Определить, является ли данный год високосным

Прохожу курс обучения на сайте степик, для начинающих, третий день ломаю голову над не сложной задачей, вроде бы всё понятно, а как в Пайтон ее решить(написать) так, что система приняла на сайте где учусь не выходит. Просьба учесть, что я чайник, и мой уровень знаний минимален.
Ниже выкладу задачу, как и варианты решений, НЕ работающих( или работающих, но не принимаемой сайтом для прохождения курса.
Условия: if, else, elif. Блоки, отступы
Требуется определить, является ли данный год високосным.
Напомним, что високосными годами считаются те годы, порядковый номер которых либо кратен 4, но при этом не кратен 100, либо кратен 400 (например, 2000-й год являлся високосным, а 2100-й будет невисокосным годом).
Программа должна корректно работать на числах 1900≤n≤3000.
Выведите «Високосный» в случае, если считанный год является високосным и «Обычный» в обратном случае (не забывайте проверять регистр выводимых программой символов).
Sample Output 1:
Sample Output 2:
n = int(input())
if n % 400 != 0:
print(«Обычный»)
elif n % 4 == 0 and n % 100 != 0:
print(«Обычный»)
else:
print(«Високосный»)
Это работает, но не принимает сайт(для прохождения дальше), думаю надо прописать в условии if все условия сразу, но не выходит((
n = int(input())
if n % 400 % 4 % 100 != 0:
print(«Високосный»)
else:
print(«Обычный»)
Это не работает, и так и эдак крутил, не выходит.
Всем ответившим Благодарочка, и миллион к карме.
Определить високосный год или нет
Определить, является ли год, который ввел пользователем, високосным или невисокосным.
Високосные года делятся нацело на 4. Однако из этого правила есть исключение: столетия, которые не делятся нацело на 400, високосными не являются.
В високосном годе 366 дней, в обычном 365.
- Если год не делится на 4, значит он обычный.
- Иначе надо проверить не делится ли год на 100.
- Если не делится, значит это не столетие и можно сделать вывод, что год високосный.
- Если делится на 100, значит это столетие и его следует проверить его делимость на 400.
- Если год делится на 400, то он високосный.
- Иначе год обычный.
Проверки можно проводить последовательно, а можно группировать через логические операторы «И» и «ИЛИ». Поэтому способов решения задачи может быть несколько.
Pascal
високосный год паскаль
// 1-й вариант:
var y: word;
begin
readln(y);
if y mod 4 <> 0 then writeln('Обычный')
else
if y mod 100 = 0 then
if y mod 400 = 0 then writeln('Високосный')
else writeln('Обычный')
else writeln('Високосный');
end.
// 2-й вариант:
var y: word;
begin
readln(y);
if (y mod 4 <> 0) or (y mod 100 = 0) and (y mod 400 <> 0) then
writeln('Обычный')
else
writeln('Високосный');
end.
1980
Високосный
1978
Обычный
Язык Си
// 1-й вариант:
#include
main() int y;
scanf("%d",&y);
if (y%4 != 0) printf("Обычный");
else
if (y%100 == 0 && y%400 != 0) printf("Обычный");
else printf("Високосный");
printf("\n");
>
// 2-й вариант:
#include
main() int y;
scanf("%d",&y);
if (y%4 != 0 || y%100 == 0 && y%400 != 0) printf("Обычный");
else printf("Високосный");
printf("\n");
>
Python
високосный год python(питон)
# 1-й вариант:
y = int(input())
if y % 4 != 0:
print("Обычный")
elif y % 100 == 0:
if y % 400 == 0:
print("Високосный")
else:
print("Обычный")
else:
print("Високосный")
# 2-й вариант:
if y % 4 != 0 or (y % 100 == 0 and y % 400 != 0):
print("Обычный")
else:
print("Високосный")
КуМир
| 1-й вариант:
алг високосный год
нач
цел n
ввод n
если mod(n,4) <> 0 то
вывод "Обычный год"
иначе
если mod(n,100) = 0 то
если mod(n,400) = 0 то
вывод "Високосный год"
иначе
вывод "Обычный год"
все
иначе
вывод "Високосный год"
все
все
кон
| 2-й вариант:
алг високосный год
нач
цел n
ввод n
если mod(n,4) <> 0 или mod(n,100) = 0 и mod(n,400) <> 0 то
вывод "Обычный год"
иначе
вывод "Високосный год"
все
кон
1100
Обычный год
1992
Високосный год
Basic-256
input y
if y%4 = 0 then
if y%100=0 and y%400 <> 0 then
print "365"
else
print "366"
endif
else
print "365"
endif
Программа Python для проверки високосного года


Добавить в избранное
Главное меню » Язык программирования Python » Программа Python для проверки високосного года

В сегодняшней статье мы создадим программу на Python для проверки високосного года. Если вы новичок питона и хотите начать изучать программирование на Python, то обратите внимание на эту статью, где мы будем делиться примером программы на Python для проверки високосного года .
Программа Python для проверки високосного года с выводом
Скопируйте нижеприведенную программу Python и выполните ее с помощью компилятора Python. В конце этой статьи мы покажем вывод программы.
year=int(input(«Введите год для проверки:»)) if(year%4==0 and year%100!=0 or year%400==0) < print("Високосный год!) >else
Вывод:
Введите год для проверки: 2016 Високосный год!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.