Друзья, мы начинаем второй кодинг-марафон среди подписчиков.
Марафон будет состоять из 10 задач.
Каждую неделю мы будем публиковать 1 задачу по питону, алгоритмам и другим темам. За правильное решение задачи вы получаете 10 баллов.
Наше решение будет публиковаться ровно через неделю после выхода задачи и будет сопровождаться комментариями нашего ментора.
Требования конкурса:
1. Решение оформлять тут - https://repl.it/languages/python3
2. Функция должна возвращать результат, а не печатать его
3. Все примеры из задачи (если они есть) должны работать с вашим кодом
4. Не пишите ничего лишнего в сообщениях, просто ссылка и номер задачи.
Ментор конкурса: @vovabodnar.
Куда присылать решения: @vovabodnar :)
P.S. Задачи будут проверяться 1-2 раза в неделю, так что не расстраивайтесь, если сразу не получите быстрого ответа.
Всем удачи!
#марафон2
Марафон будет состоять из 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.
Примечание: Исходим из того, что передаваемые строки всегда будут одинаковой длины.
Примеры:
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание: Создайте функцию, которая принимает две строки и вычисляет расстояние Хэмминга между ними.
Расстояние Хэмминга — число позиций, в которых соответствующие символы двух слов одинаковой длины различны.
Например, в строке «ABCB» на четвертой позиции стоит буква «B», а в строке «ABCD» на той же позиции — буква «D». Расстояние Хэмминга между этими строками — 1.
Примечание: Исходим из того, что передаваемые строки всегда будут одинаковой длины.
Примеры:
hamming_distance("abcde", "bcdef") ➞ 5Присылаем номер задачи и ссылку на код сюда - @vovabodnar
hamming_distance("abcde", "abcde") ➞ 0
hamming_distance("strong", "strung") ➞ 1
hamming_distance("ABBA", "abba") ➞ 4
#задача #марафон2
Кодинг-марафон. Решение Задачи 1
Функцию для вычисления расстояния Хэмминга можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Функцию для вычисления расстояния Хэмминга можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Кодинг-марафон. Задача № 2.
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
22 октября — ДЕНЬ CAPS LOCK. За исключением этого дня, все предложения должны быть в нижнем регистре. Поэтому напишите функцию для нормализации предложения.
Эта функция должна принимать строку. Если строка состоит только из символов верхнего регистра, переведите их в нижний регистр и добавьте в конце восклицательный знак.
Примечания:
- каждая передаваемая в функцию строка - отдельное предложение
- предложение после нормализации должно начинаться с заглавной буквы
- восклицательный знак добавляем к предложениям, которые переводили из верхнего регистра в нижний.
Примеры:
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
22 октября — ДЕНЬ CAPS LOCK. За исключением этого дня, все предложения должны быть в нижнем регистре. Поэтому напишите функцию для нормализации предложения.
Эта функция должна принимать строку. Если строка состоит только из символов верхнего регистра, переведите их в нижний регистр и добавьте в конце восклицательный знак.
Примечания:
- каждая передаваемая в функцию строка - отдельное предложение
- предложение после нормализации должно начинаться с заглавной буквы
- восклицательный знак добавляем к предложениям, которые переводили из верхнего регистра в нижний.
Примеры:
normalize("CAPS LOCK DAY IS OVER")Присылаем номер задачи и ссылку на код сюда - @vovabodnar
➞ "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."
#задача #марафон2
Кодинг-марафон. Решение Задачи 2
Функцию для нормализации строки можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Функцию для нормализации строки можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Кодинг-марафон. Задача № 3.
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Сталактиты свисают с потолка пещеры, а сталагмиты растут из пола.
Создайте функцию, которая определяет, представляет ли ввод «stalactites» (сталактиты) или «stalagmites» (сталагмиты). Если ввод содержит и сталактиты, и сталагмиты, верните «both» («оба»).
Ввод будет двухмерным списком, где 1 представляет кусок камня, а 0 — воздушное пространство.
Примеры:
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Сталактиты свисают с потолка пещеры, а сталагмиты растут из пола.
Создайте функцию, которая определяет, представляет ли ввод «stalactites» (сталактиты) или «stalagmites» (сталагмиты). Если ввод содержит и сталактиты, и сталагмиты, верните «both» («оба»).
Ввод будет двухмерным списком, где 1 представляет кусок камня, а 0 — воздушное пространство.
Примеры:
mineralFormation([Присылаем номер задачи и ссылку на код сюда - @vovabodnar
[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"
#задача #марафон2
Кодинг-марафон. Решение Задачи 3
Пример функции, определяющей, представляет ли ввод «сталактиты» или «сталагмиты», можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Пример функции, определяющей, представляет ли ввод «сталактиты» или «сталагмиты», можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Кодинг-марафон. Задача № 4.
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Панцифровое число — целое число (в какой-то выбранной системе счисления), в котором каждая цифра данной системы счисления появляется по крайней мере один раз.
Для целей нашей задачи мы будем считать панцифровым целое число в десятичной системе, в котором встречается хотя бы раз каждая цифра от 0 до 9.
Напишите функцию, которая будет принимать целое число и возвращать True, если оно является панцифровым, и False — в противном случае.
Подсказка: подумайте о свойствах панцифрового числа после удаления всех дубликатов.
Примеры:
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Панцифровое число — целое число (в какой-то выбранной системе счисления), в котором каждая цифра данной системы счисления появляется по крайней мере один раз.
Для целей нашей задачи мы будем считать панцифровым целое число в десятичной системе, в котором встречается хотя бы раз каждая цифра от 0 до 9.
Напишите функцию, которая будет принимать целое число и возвращать True, если оно является панцифровым, и False — в противном случае.
Подсказка: подумайте о свойствах панцифрового числа после удаления всех дубликатов.
Примеры:
is_pandigital (98140723568910) ➞ TrueПрисылаем номер задачи и ссылку на код сюда - @vovabodnar
is_pandigital (90864523148909) ➞ False: 7 отсутствует.
is_pandigital (112233445566778899) ➞ False
#задача #марафон2
Кодинг-марафон. Решение Задачи 4
Функцию для определения, является ли число панцифровым, можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Функцию для определения, является ли число панцифровым, можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Кодинг-марафон. Задача № 5.
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Напишите функцию, которая возвращает True, если в переданном числе за каждой последовательностью единиц следует последовательность нулей той же длины.
Примеры:
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Напишите функцию, которая возвращает True, если в переданном числе за каждой последовательностью единиц следует последовательность нулей той же длины.
Примеры:
same_length (110011100010) ➞ TrueПрисылаем номер задачи и ссылку на код сюда - @vovabodnar
same_length (101010110) ➞ False
same_length (111100001100) ➞ True
same_length (111) ➞ False
#задача #марафон2
Кодинг-марафон. Решение Задачи 5
Функцию для сверки последовательностей нулей и единиц можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Функцию для сверки последовательностей нулей и единиц можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Кодинг-марафон. Задача № 6.
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Гарри — почтальон. У него есть почтовый участок размером n * m (матричный / 2D-список). Каждый слот в 2D-списке представляет количество писем в этом месте.
Гарри может идти только вправо и вниз. Он начинает обход в (0, 0) и заканчивает в (n-1, m-1). n представляет высоту, а m — длину матрицы.
Письма Гарри может брать только там, где находится.
Напишите функцию, возвращающую максимальное количество писем, которое Гарри может подобрать.
Примеры:
Присылаем номер задачи и ссылку на код сюда - @vovabodnar
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Гарри — почтальон. У него есть почтовый участок размером n * m (матричный / 2D-список). Каждый слот в 2D-списке представляет количество писем в этом месте.
Гарри может идти только вправо и вниз. Он начинает обход в (0, 0) и заканчивает в (n-1, m-1). n представляет высоту, а m — длину матрицы.
Письма Гарри может брать только там, где находится.
Напишите функцию, возвращающую максимальное количество писем, которое Гарри может подобрать.
Примеры:
harry([[5, 2], [5, 2]]) ➞ 12Примечание. Как вы видели в примере 3, если матрица пуста, верните -1.
# (5+5+2)
harry([
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]
]) ➞ 72
# (1+6+11+12+13+14+15)
harry([[]]) ➞ -1
Присылаем номер задачи и ссылку на код сюда - @vovabodnar
#задача #марафон2
Кодинг-марафон. Решение Задачи 6
Функцию, возвращающую максимальное количество писем, которое может подобрать почтальон, можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Функцию, возвращающую максимальное количество писем, которое может подобрать почтальон, можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Кодинг-марафон. Задача № 7.
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Есть список названий животных:
Напишите функцию, которая будет принимать строку txt и возвращать максимальное количество названий животных, которые возможно собрать из символов строки.
Примеры:
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Есть список названий животных:
animals = ["dog", "cat", "bat", "cock", "cow", "pig", "fox", "ant", "bird", "lion", "wolf", "deer", "bear", "frog", "hen", "mole", "duck", "goat"]
Напишите функцию, которая будет принимать строку txt и возвращать максимальное количество названий животных, которые возможно собрать из символов строки.
Примеры:
txt = "goatcode"Номер задачи и ссылку на код шлём @vovabodnar
count_animals(txt) ➞ 2
# первое животное = "dog"
# оставшиеся символы в строке = "atcoe",
# второе животное = "cat".
# count = 2 (верно)
# если взять сперва "goat",
# оставшиеся символы в строке = "code",
# т.е. больше нельзя составить имен животных
# count = 1 (неверно)
count_animals("goatcode") ➞ 2
# "dog", "cat"
count_animals("cockdogwdufrbir") ➞ 4
# "cow", "duck", "frog", "bird"
count_animals("dogdogdogdogdog") ➞ 5
#задача #марафон2
Кодинг-марафон. Решение Задачи 7
Функцию, возвращающую максимальное количество названий животных, можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Функцию, возвращающую максимальное количество названий животных, можно посмотреть на сайте наших партнеров из pythonist.ru
Смотреть решение
Условия конкурса - в закрепе канала.
#задача #марафон2
Кодинг-марафон. Задача № 8.
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Эта задача основана на игре сапер.
Создайте функцию, которая принимает сетку из "#" и "-". Каждая решетка (#) представляет мину, а каждое тире (-) - место без мин.
Верните список, в котором каждое тире заменено цифрой, обозначающей количество мин, непосредственно примыкающих к нему (по горизонтали, вертикали и диагоналям).
Примеры:
#задача #марафон2
Условия конкурса - в закрепленной сверху записи канала.
Приз: 10 баллов.
Задание:
Эта задача основана на игре сапер.
Создайте функцию, которая принимает сетку из "#" и "-". Каждая решетка (#) представляет мину, а каждое тире (-) - место без мин.
Верните список, в котором каждое тире заменено цифрой, обозначающей количество мин, непосредственно примыкающих к нему (по горизонтали, вертикали и диагоналям).
Примеры:
num_grid ([Присылаем номер задачи и ссылку на код сюда - @vovabodnar
[«-», «-», «-», «-», «-»],
[«-», «-», «-», «-», «-»],
[«-», «-», «#», «-», «-»],
[«-», «-», «-», «-», «-»],
[«-», «-», «-», «-», «-»]
]) ➞ [
[«0», «0», «0», «0», «0»],
[«0», «1», «1», «1», «0»],
[«0», «1», «#», «1», «0»],
[«0», «1», «1», «1», «0»],
[«0», «0», «0», «0», «0»],
]
num_grid ([
[«-», «-», «-», «-», «#»],
[«-», «-», «-», «-», «-»],
[«-», «-», «#», «-», «-»],
[«-», «-», «-», «-», «-»],
["#", "-", "-", "-", "-"]
]) ➞ [
[«0», «0», «0», «1», «#»],
[«0», «1», «1», «2», «1»],
[«0», «1», «#», «1», «0»],
[«1», «2», «1», «1», «0»],
[«#», «1», «0», «0», «0»]
]
num_grid ([
[«-», «-», «-», «#», «#»],
[«-», «#», «-», «-», «-»],
[«-», «-», «#», «-», «-»],
[«-», «#», «#», «-», «-»],
[«-», «-», «-», «-», «-»]
]) ➞ [
[«1», «1», «2», «#», «#»],
[«1», «#», «3», «3», «2»],
[«2», «4», «#», «2», «0»],
[«1», «#», «#», «2», «0»],
[«1», «2», «2», «1», «0»],
]
#задача #марафон2