PythonBoost - сообщество питонистов
12K subscribers
295 photos
6 videos
548 links
Лучший Python телеграм канал для новичков.

Цель: подготовка студентов, начинающих питонистов к нахождению первой работы.

@anothertechrock

РКН: https://kurl.ru/Jhcwp
加入频道
Друзья, мы начинаем второй кодинг-марафон среди подписчиков.

Марафон будет состоять из 10 задач.

Каждую неделю мы будем публиковать 1 задачу по питону, алгоритмам и другим темам. За правильное решение задачи вы получаете 10 баллов.

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

Требования конкурса:

1. Решение оформлять тут - https://repl.it/languages/python3
2. Функция должна возвращать результат, а не печатать его
3. Все примеры из задачи (если они есть) должны работать с вашим кодом
4. Не пишите ничего лишнего в сообщениях, просто ссылка и номер задачи.

Ментор конкурса: @vovabodnar.
Куда присылать решения: @vovabodnar :)

P.S. Задачи будут проверяться 1-2 раза в неделю, так что не расстраивайтесь, если сразу не получите быстрого ответа.

Всем удачи!

#марафон2
👍1
Кодинг-марафон. Задача № 1.

Условия конкурса - в закрепленной сверху записи канала.

Приз: 10 баллов.

Задание: Создайте функцию, которая принимает две строки и вычисляет расстояние Хэмминга между ними.

Расстояние Хэмминга — число позиций, в которых соответствующие символы двух слов одинаковой длины различны.

Например, в строке «ABCB» на четвертой позиции стоит буква «B», а в строке «ABCD» на той же позиции — буква «D». Расстояние Хэмминга между этими строками — 1.

Примечание: Исходим из того, что передаваемые строки всегда будут одинаковой длины.

Примеры:

hamming_distance("abcde", "bcdef") ➞ 5
hamming_distance("abcde", "abcde") ➞ 0
hamming_distance("strong", "strung") ➞ 1
hamming_distance("ABBA", "abba") ➞ 4

Присылаем номер задачи и ссылку на код сюда - @vovabodnar

#задача #марафон2
Кодинг-марафон. Решение Задачи 1

Функцию для вычисления расстояния Хэмминга можно посмотреть на сайте наших партнеров из pythonist.ru

Смотреть решение

Условия конкурса - в закрепе канала.

#задача #марафон2
Кодинг-марафон. Задача № 2.

Условия конкурса - в закрепленной сверху записи канала.

Приз: 10 баллов.

Задание:

22 октября — ДЕНЬ CAPS LOCK. За исключением этого дня, все предложения должны быть в нижнем регистре. Поэтому напишите функцию для нормализации предложения.

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

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

Примеры:

normalize("CAPS LOCK DAY IS OVER") 
➞ "Caps lock day is over!"

normalize("Today is not caps lock day.")
➞ "Today is not caps lock day."

normalize("Let us stay calm, no need to panic.")
➞ "Let us stay calm, no need to panic."

Присылаем номер задачи и ссылку на код сюда - @vovabodnar

#задача #марафон2
Кодинг-марафон. Решение Задачи 2

Функцию для нормализации строки можно посмотреть на сайте наших партнеров из pythonist.ru

Смотреть решение

Условия конкурса - в закрепе канала.

#задача #марафон2
Кодинг-марафон. Задача № 3.

Условия конкурса - в закрепленной сверху записи канала.

Приз: 10 баллов.

Задание:

Сталактиты свисают с потолка пещеры, а сталагмиты растут из пола.

Создайте функцию, которая определяет, представляет ли ввод «stalactites» (сталактиты) или «stalagmites» (сталагмиты). Если ввод содержит и сталактиты, и сталагмиты, верните «both» («оба»).

Ввод будет двухмерным списком, где 1 представляет кусок камня, а 0 — воздушное пространство.

Примеры:

mineralFormation([
[0, 1, 0, 1],
[0, 1, 0, 1],
[0, 0, 0, 1],
[0, 0, 0, 0]
]) ➞ "stalactites"

mineralFormation([
[0, 0, 0, 0],
[0, 1, 0, 1],
[0, 1, 1, 1],
[0, 1, 1, 1]
]) ➞ "stalagmites"

mineralFormation([
[1, 0, 1, 0],
[1, 1, 0, 1],
[0, 1, 1, 1],
[0, 1, 1, 1]
]) ➞ "both"

Присылаем номер задачи и ссылку на код сюда - @vovabodnar

#задача #марафон2
Кодинг-марафон. Решение Задачи 3

Пример функции, определяющей, представляет ли ввод «сталактиты» или «сталагмиты», можно посмотреть на сайте наших партнеров из pythonist.ru

Смотреть решение

Условия конкурса - в закрепе канала.

#задача #марафон2
Кодинг-марафон. Задача № 4.

Условия конкурса - в закрепленной сверху записи канала.

Приз: 10 баллов.

Задание:

Панцифровое число — целое число (в какой-то выбранной системе счисления), в котором каждая цифра данной системы счисления появляется по крайней мере один раз.

Для целей нашей задачи мы будем считать панцифровым целое число в десятичной системе, в котором встречается хотя бы раз каждая цифра от 0 до 9.

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

Подсказка: подумайте о свойствах панцифрового числа после удаления всех дубликатов.

Примеры:

is_pandigital (98140723568910) ➞ True

is_pandigital (90864523148909) ➞ False: 7 отсутствует.

is_pandigital (112233445566778899) ➞ False

Присылаем номер задачи и ссылку на код сюда - @vovabodnar

#задача #марафон2
Кодинг-марафон. Решение Задачи 4

Функцию для определения, является ли число панцифровым, можно посмотреть на сайте наших партнеров из pythonist.ru

Смотреть решение

Условия конкурса - в закрепе канала.

#задача #марафон2
Кодинг-марафон. Задача № 5.

Условия конкурса - в закрепленной сверху записи канала.

Приз: 10 баллов.

Задание:

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

Примеры:

same_length (110011100010) ➞ True

same_length (101010110) ➞ False

same_length (111100001100) ➞ True

same_length (111) ➞ False

Присылаем номер задачи и ссылку на код сюда - @vovabodnar

#задача #марафон2