Как определить високосный год или нет python
Перейти к содержимому

Как определить високосный год или нет python

  • автор:

Високосный год на 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)) 

Объясните пожалуйста почему. Разве они не идентичны? Почему первый рабочий полностью, а второй частично? Спасибо.

Определить, является ли данный год високосным

Author24 — интернет-сервис помощи студентам

Прохожу курс обучения на сайте степик, для начинающих, третий день ломаю голову над не сложной задачей, вроде бы всё понятно, а как в Пайтон ее решить(написать) так, что система приняла на сайте где учусь не выходит. Просьба учесть, что я чайник, и мой уровень знаний минимален.
Ниже выкладу задачу, как и варианты решений, НЕ работающих( или работающих, но не принимаемой сайтом для прохождения курса.

Условия: 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.

  1. Если год не делится на 4, значит он обычный.
  2. Иначе надо проверить не делится ли год на 100.
  3. Если не делится, значит это не столетие и можно сделать вывод, что год високосный.
  4. Если делится на 100, значит это столетие и его следует проверить его делимость на 400.
  5. Если год делится на 400, то он високосный.
  6. Иначе год обычный.

Проверки можно проводить последовательно, а можно группировать через логические операторы «И» и «ИЛИ». Поэтому способов решения задачи может быть несколько.

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 для проверки високосного года

PlayStation размахивает молотком запретов так, как мечтают игроки Xbox

Favorite

Добавить в избранное

Главное меню » Язык программирования 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *