Подборка задач с решениями - 32

  • Категория: Python
  • Дата публикации: 2022-01-26
  • Опубликовано на сайте: Stepik

Задача 1:

Напишите функцию с названием detect_lucky, которая принимает в качестве аргумента шестизначное число и возвращает True, если оно является счастливым, и False в противном случае. Счастливым называется шестизначное число, сумма первых трех цифр которого равна сумме последних трех цифр.

Например, число 237831 является счастливым: 2+3+7 = 12 и 8+3+1 = 12. А 12 =12, поэтому функция вернет True.

Вызов функции уже прописан. Вам остается написать только саму функцию.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 2:

Паша очень любит кататься на общественном транспорте, а получая билет, сразу проверяет, счастливый ли ему попался. Билет считается счастливым, если сумма первых трех цифр совпадает с суммой последних трех цифр номера билета.

Однако Паша очень плохо считает в уме, поэтому попросил вас написать программу, которая проверит равенство сумм и выведет "Счастливый", если суммы совпадают, и "Обычный", если суммы различны.

На вход программе подаётся строка из шести цифр.

Выводить нужно только слово "Счастливый" или "Обычный", с большой буквы.

Решение 1:

Решение 2:

Задача 3: Объединение словарей

В Python (начиная с версии 3.5) есть простой способ объединения двух словарей. Но он подходит только для тех случаев, когда значения одинаковых ключей (если такие есть) не нужно складывать, поскольку про наличии в словарях одних и тех же ключей Python по умолчанию просваивает ключу в результирующем словаре второе значение. На практике это выглядит так:

Результат:

Если же значения по одинаковым ключам необходимо суммировать, операцию объединения лучше проводить таким образом:

В результате значения одинаковых ключей будут просуммированы:

Задача 4:

Вашей программе на вход подаются три строки s, a, b, состоящие из строчных латинских букв. За одну операцию вы можете заменить все вхождения строки a в строку s на строку b.

Например, s = "abab", a = "ab", b = "ba", тогда после выполнения одной операции строка s перейдет в строку "baba", после выполнения двух и операций – в строку "bbaa", и дальнейшие операции не будут изменять строку s.

Необходимо узнать, после какого минимального количества операций в строке s не останется вхождений строки a. Если операций потребуется более 1000, выведите Impossible.

Выведите одно число – минимальное число операций, после применения которых в строке s не останется вхождений строки a, или Impossible, если операций потребуется более 1000.

Решение 1:

Решение 2:

Задача 5:

Вводится порядковый номер месяца (1, 2, ..., 12). Вывести на экран количество дней в этом месяце. Принять, что год не является високосным. Реализовать через условный оператор, в котором следует использовать не более трех ветвей (блоков).

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 6:

Дата некоторого дня характеризуется двумя натуральными числами: m (порядковый номер месяца) и n (число). По введенным n и m (в одну строку через пробел) определить:

а) дату предыдущего дня (принять, что n и m не характеризуют 1 января); б) дату следующего дня (принять, что n и m не характеризуют 31 декабря).

В задаче принять, что год не является високосным. Вывести предыдущую дату и следующую дату (в формате: mm.dd, где m - число месяца; d - номер дня) в одну строчку через пробел.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 7:

Вводится целое число k (1 <= k <= 365). Определить, каким днем недели (понедельник, вторник, среда, четверг, пятница, суббота или воскресенье) является k-й день не високосного года, в котором 1 января является понедельником.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 8:

Вводится строка. Необходимо найти все индексы фрагмента "ра" во введенной строке. Вывести в строку через пробелы найденные индексы. Если этот фрагмент ни разу не будет найден, то вывести значение -1.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 9:

Вводится строка с номером телефона. Ожидается формат ввода:

+7(xxx)xxx-xx-xx

где x - это цифра. Размер введенных символов считается верным (то есть, не может быть, чтобы отсутствовала какая-либо цифра или была лишняя). Необходимо проверить, что введенная строка соответствует этому формату. Вывести ДА, если соответствует и НЕТ - в противном случае.

Решение 1:

Решение 1:

Задача 10:

В виде строки записано арифметическое выражение:

10 + 25 - 12

Необходимо выполнить его вычисление и результат отобразить на экране. Полагается, что в качестве арифметических операций здесь используется только сложение (+) и вычитание (-), а в качестве операндов - целые числа. Следует учесть, что эти операторы могут быть записаны как с пробелами, так и без них.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 11:

Вводится список в виде целых чисел в одну строку через пробел. Необходимо сначала сформировать список на основе введенной строки, а затем, каждое значение этого списка изменить, возведя в квадрат. Отобразить результат на экране в виде строки полученных чисел, записанных через пробел.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 12:

Вводится список в виде целых чисел в одну строку через пробел. Сначала нужно сформировать список из введенной строки. Затем, каждый элемент этого списка продублировать один раз. Результат отобразить на экране в виде строки полученных чисел, записанных через пробел.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 13:

Вводится список в виде вещественных чисел в одну строку через пробел. С помощью цикла for необходимо найти наименьшее значение в этом списке. Полученный результат вывести на экран. Реализовать программу без использования функции min, max и сортировки.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

Задача 14:

Вводится список в виде вещественных чисел в одну строку через пробел. Сначала нужно сформировать список из введенной строки. Затем, все отрицательные значения в этом списке заменить на -1.0. Результат вывести на экран в виде строки чисел через пробел. Программу следует реализовать с использованием функции enumerate.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT