Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/103: Рейтинг темы: голосов - 103, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 18.10.2021
Сообщений: 20

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

18.10.2021, 18:21. Показов 22099. Ответов 15

Студворк — интернет-сервис помощи студентам
Здравствуйте.

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

Условия: if, else, elif. Блоки, отступы

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

Напомним, что високосными годами считаются те годы, порядковый номер которых либо кратен 4, но при этом не кратен 100, либо кратен 400 (например, 2000-й год являлся високосным, а 2100-й будет невисокосным годом).

Программа должна корректно работать на числах 1900≤n≤3000.

Выведите "Високосный" в случае, если считанный год является високосным и "Обычный" в обратном случае (не забывайте проверять регистр выводимых программой символов).

Sample Input 1:

2100

Sample Output 1:

Обычный
--------------------
Sample Input 2:

2000

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

Это не работает, и так и эдак крутил, не выходит.

Всем ответившим Благодарочка, и миллион к карме.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.10.2021, 18:21
Ответы с готовыми решениями:

Определить, является ли год, который ввел пользователь, високосным или не високосным
) Определить, является ли год, который ввел пользователь, високосным или не високосным. Помогите пожалуйста. Заранее спасибочки,

Определить является ли год с данным номером високосным
Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным, то выведите YES,...

Программа определяет является ли год високосным. Пользователь вводит год
При написании программы учтите факт, что год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен...

15
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
18.10.2021, 18:26
Цитата Сообщение от DanikDD Посмотреть сообщение
Напомним, что високосными годами считаются те годы, порядковый номер которых либо кратен 4, но при этом не кратен 100, либо кратен 400
что у вас
Python
1
2
elif n % 4 == 0 and n % 100 != 0:
    print("Обычный")
Добавлено через 1 минуту
if кратен 4, and но при этом не кратен 100 or либо кратен 400
0
0 / 0 / 0
Регистрация: 18.10.2021
Сообщений: 20
18.10.2021, 18:36  [ТС]
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
что у вас
Python
1
2
elif n % 4 == 0 and n % 100 != 0:
    print("Обычный")
Добавлено через 1 минуту
if кратен 4, and но при этом не кратен 100 or либо кратен 400
Этот вариант мне посоветовали, дружище я не понимаю( как это в пайтоне написать((...то что кратен 4 и не кратен 100 понимаю, то что либо кратен 400 понимаю...Можно ли это всё засунуть в один if не понимаю...сон даже снился сегодня про високосные года))
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
18.10.2021, 18:39
if кратен 4, and но при этом не кратен 100 or либо кратен 400
0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
18.10.2021, 18:40
Цитата Сообщение от DanikDD Посмотреть сообщение
Можно ли это всё засунуть в один if не понимаю
Пусть теперь снится это


Python
1
print((lambda x: ("Обычный", "Високосный")[not x % 4 and x % 100 or not x % 400])(int(input())))
0
0 / 0 / 0
Регистрация: 18.10.2021
Сообщений: 20
18.10.2021, 18:51  [ТС]
дело в том, это наверняка не пропустит система ибо or не проходили ещё(

Добавлено через 3 минуты
Цитата Сообщение от enx Посмотреть сообщение
Пусть теперь снится это


Python
1
print((lambda x: ("Обычный", "Високосный")[not x % 4 and x % 100 or not x % 400])(int(input())))
Это слишком сложно, курс начальный! Но всё равно оч благодарен за ответ, просто я немного в отчаянии), капельку)

Добавлено через 3 минуты
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
if кратен 4, and но при этом не кратен 100 or либо кратен 400
Пишу повторно ибо с форумом ещё не особо разобрался, ссори. Фyнкцию or не проходили ещё, а значит система не пропустит наверняка ее((, по любому спасибо огромное за идеи, буду пробовать.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
18.10.2021, 18:54
Цитата Сообщение от DanikDD Посмотреть сообщение
Фyнкцию or не проходили ещё, а значит система не пропустит наверняка ее
- пропустит. Stepik пропускает
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
18.10.2021, 18:57
Цитата Сообщение от DanikDD Посмотреть сообщение
ибо or не проходили ещё
то есть if elif и and вы изучили а or нет??? и что вы будете делать с условиями не зная логические операторы? их то всего 3 которые изучают вместе с условными или-and, и-or, не-not
1
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
18.10.2021, 19:01
Лучший ответ Сообщение было отмечено DanikDD как решение

Решение

DanikDD, там скорее всего примерно такие же тестовые системы, как и везде, а следовательно вероятность того, что написан декоратор на отлов каких-то конструкция - близка к нулю.

Вероятно, там 5-10 тестов по принципу ожидаемого ответа.

Но по самой теме, только с if else:


Python
1
2
3
4
5
6
7
8
9
10
11
year = int(input())
if not year % 400:
    print('Високосный')
else:
    if year % 4:
        print('Обычный')
    else:
        if not year % 100:
            print('Обычный')
        else:
            print('Високосный')
1
0 / 0 / 0
Регистрация: 18.10.2021
Сообщений: 20
18.10.2021, 19:23  [ТС]
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
то есть if elif и and вы изучили а or нет??? и что вы будете делать с условиями не зная логические операторы? их то всего 3 которые изучают вместе с условными или-and, и-or, не-not
Проходили но в другом формате, совмещаяя с другими решениями Труэ ор Фэлс, но не вычислениями в одной строке, ниже приведу пример курса:

Логические операции
In [37]:
Python
1
2
a = int(input())
print(a > 0)
-234
False

In [38]:
Python
1
2
a = int(input())
print(a >= 10 and a < 100)
10
True

In [39]:
Python
1
2
a = int(input())
print(10 <= a < 100)
23
True

In [40]:
Python
1
2
x1, x2, x3 = False, True, False
not x1 or x2 and x3
Out[40]:
True

Буду пробовать, СПАСИБО, пишу здесь, ибо на форуме ещё не могу спасибо ставить)
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
18.10.2021, 19:27
Лучший ответ Сообщение было отмечено DanikDD как решение

Решение

пробуй
Python
1
2
3
4
5
n = int(input())
if n % 4 == 0 and n % 100 != 0 or n % 400 == 0:
    print("Високосный")
else:
    print("Обычный")
0
0 / 0 / 0
Регистрация: 18.10.2021
Сообщений: 20
18.10.2021, 19:34  [ТС]
Цитата Сообщение от enx Посмотреть сообщение
DanikDD, там скорее всего примерно такие же тестовые системы, как и везде, а следовательно вероятность того, что написан декоратор на отлов каких-то конструкция - близка к нулю.

Вероятно, там 5-10 тестов по принципу ожидаемого ответа.

Но по самой теме, только с if else:


Python
1
2
3
4
5
6
7
8
9
10
11
year = int(input())
if not year % 400:
    print('Високосный')
else:
    if year % 4:
        print('Обычный')
    else:
        if not year % 100:
            print('Обычный')
        else:
            print('Високосный')
Это работает и система Степика пропустила, не за что бы не догадался, именно здесь применить логический оператор not, ибо в примерах и в курсе до этого не изучал именно такого применения(, точнее нет примеров написания в таком контексте скажем(
Буду обдумывать решение задачи теперь), спасибо миллион раз

Добавлено через 2 минуты
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
пробуй
Python
1
2
3
4
5
n = int(input())
if n % 4 == 0 and n % 100 != 0 or n % 400 == 0:
    print("Високосный")
else:
    print("Обычный")
попробую, и это работает! Очень интересный вариант, спасибо огромное!
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
18.10.2021, 19:39
Цитата Сообщение от DanikDD Посмотреть сообщение
Очень интересный вариан
что там интересного. просто переведено на язык питона условие которое прямым текстом описано в задании
Цитата Сообщение от DanikDD Посмотреть сообщение
либо кратен 4, но при этом не кратен 100, либо кратен 400
я вам это и написал. оставалось только циферки вместо букв писать
if кратен 4, and но при этом не кратен 100 or либо кратен 400
Python
1
if n % 4 == 0 and n % 100 != 0 or n % 400 == 0:
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
18.10.2021, 19:49
Цитата Сообщение от DanikDD Посмотреть сообщение
ибо на форуме ещё не могу спасибо ставить
- а тэги языка можешь?

Добавлено через 2 минуты
И не надо таких объемных цитат, когда кому-то отвечаешь
0
0 / 0 / 0
Регистрация: 18.10.2021
Сообщений: 20
18.10.2021, 20:41  [ТС]
Спасибо за ответы, учту на будущее...просьба относиться ко мне снисходительнее

Добавлено через 6 минут
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
что там интересного. просто переведено на язык питона условие которое прямым текстом описано в задании я вам это и написал. оставалось только циферки вместо букв писать
if кратен 4, and но при этом не кратен 100 or либо кратен 400
Python
1
if n % 4 == 0 and n % 100 != 0 or n % 400 == 0:
В теме шапки задания прописано было: 1.10 Условия: if, else, elif. Блоки, отступы
И не прописано что можно использовать логические операторы при решении этой задачи, вот я и не сообразил про and, or, not ибо до этого не было в программе обучения, комбинации со связкой if, else, elif.

Добавлено через 1 минуту
Цитата Сообщение от Catstail Посмотреть сообщение
- а тэги языка можешь?

Добавлено через 2 минуты
И не надо таких объемных цитат, когда кому-то отвечаешь
просьба пояснить про теги, не очень понял, про цитаты понял, постараюсь без объёмных.
0
0 / 0 / 0
Регистрация: 18.10.2021
Сообщений: 20
19.10.2021, 17:58  [ТС]
Ещё одно решение, сам додумался, глядя на решения выше можно написать программу без логических операторов, система приняла! Горд собой) естественно без помощи форумчан не справился бы.

Python
1
2
3
4
5
6
7
8
9
10
11
n = int(input())
if n % 400 == 0:
    print('Високосный')
else:
    if n % 4 != 0:
        print('Обычный')
    else:
        if n % 100 == 0:
            print('Обычный')
        else:
            print('Високосный')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2021, 17:58
Помогаю со студенческими работами здесь

Определить, является ли год, который ввел пользователь, високосным или не високосным
Определить, является ли год, который ввел пользователь, високосным или не високосным. Помогите пожалуйста на питоне. Заранее...

Определить, является ли год високосным
Помогите найти ошибку. Не считает какой-то год.В первую строку вывести YES если год с номером N является высокосным и NO в противном...

Определить, является ли год високосным
как написать программу который от печати юзера скажет високосный год или нет.

Требуется определить, является ли данный год высокосным
Требуется определить, является ли данный год високосным. Напомним, что год является високосным, если его номер кратен 4, но при этом...

Определить будет ли год високосным и к какому веку этот год относится
14. Известен ГОД. Определить будет ли этот год високосным, и к какому веку этот год относится.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru