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

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

@anothertechrock

РКН: https://kurl.ru/Jhcwp
加入频道
Задача с решением. Меняем местами первый и последний элемент списка

Напишите функцию change(lst), которая принимает список и меняет местами его первый и последний элемент. В исходном списке минимум 2 элемента.

Пишите ваше решение в комментариях. Мы опубликуем решение через 3 часа.

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

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

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

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

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

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

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

Задание:

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

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

Примеры:

can_exit([
[0, 1, 1, 1, 1, 1, 1],
[0, 0, 1, 1, 0, 1, 1],
[1, 0, 0, 0, 0, 1, 1],
[1, 1, 1, 1, 0, 0, 1],
[1, 1, 1, 1, 1, 0, 0]
]) ➞ true

can_exit([
[0, 1, 1, 1, 1, 1, 1],
[0, 0, 1, 0, 0, 1, 1],
[1, 0, 0, 0, 0, 1, 1],
[1, 1, 0, 1, 0, 0, 1],
[1, 1, 0, 0, 1, 1, 1]
]) ➞ false
# В этом лабиринте одни тупики!

can_exit([
[0, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 1, 0, 0],
[1, 1, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 0],
[1, 1, 1, 1, 1, 1, 1]
]) ➞ false
# Выход так близко, но недостижим!

can_exit([
[0, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 1, 0, 0],
[1, 1, 1, 0, 0, 0, 0],
[1, 0, 0, 0, 1, 1, 0],
[1, 1, 1, 1, 1, 1, 0]
]) ➞ true

Примечания:

1. В лабиринте размером m x n вы входите в [0, 0] и выходите в [m-1, n-1].

2. За эту задачу можно будет получить дополнительные 10 балов (т.е. всего 20), если сделать визуализацию алгоритма поиска пути при помощи модуля turtle либо его аналогов.

3. Также эту задачу не обязательно сдавать на repl.it - страницы на гитхабе либо просто файла будет достаточно.

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

#задача #марафон2
Задача с решением. Превращаем строку или список чисел в множество

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

Пишите ваше решение в комментариях. Мы опубликуем решение через 3 часа.

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

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

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

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

#задача #марафон2
Задача с решением. Ищем подстроку в строке

Напишите функцию search_substr(subst, st), которая принимает 2 строки и определяет, имеется ли подстрока subst в строке st.

В случае нахождения подстроки, возвращается фраза «Есть контакт!», а иначе - «Мимо!».

Совпадение должно быть найдено независимо от регистра обеих строк.

Пишите ваше решение в комментариях. Мы опубликуем решение через 3 часа.

#задача #задача37
Задача с решением. Найдите ошибки в коде

Николай написал функцию is_alive(health), которая проверяет здоровье персонажа в игре. Если оно равно или меньше нуля, то функция возвращает False, в противном случае True. К сожалению, функция не работает, так как ученик допустил в ней ряд ошибок. Исправьте их и проверьте работоспособность программы (в качестве аргумента всегда передается число).

def is_alive(health):
if:
health < 0
False
else:
return true

Пишите о найденных ошибках в комментариях. Мы опубликуем ответ через 3 часа.

#задача #задача38
👍1
Задача с решением. Какие из представленных выражений можно преобразовать в целое десятичное число за одну операцию?

А) '123е'
Б) '91.4'
В) 524.345 ** 435345345311145345
Г) '7.1 + 4'
Д) '4' - 2
Е) '4 - 2'
Ж) '42'
З) -12.12

Пишите ваше решение в комментариях. Мы опубликуем решение через 3 часа.

#задача #задача39
Задача с решением. Только не 6!

Напишите функцию dislike_6(a), которая всегда возвращает True, если только не передается число 6 типа int или типа float (в данном случае она вернет «Только не 6!»).

Пишите ваше решение в комментариях. Мы опубликуем решение через 3 часа.

#задача #задача40
Задача с решением. Среднее арифметическое

Дано 4 числа. Нужно написать функцию avg_5(a, b, c, d), которая возвращает среднее арифметическое аргументов и округляет его до 5 знаков после запятой.

Пишите ваше решение в комментариях. Мы опубликуем решение через 3 часа.

#задача #задача41
Задача с решением. Никнеймы в секретном списке

Для идентификации своего круга проверенных лиц будущий тайный агент (ведь все о чем-то мечтают) Максим решил пускать на свою страничку в Интернете только тех, чьи никнеймы есть в его секретном списке. Он уверен в своих людях (особенно в том, что они по глупости не расскажут никому своё секретное прозвище), как и в том, что имена товарищей невозможно подобрать случайно.

К слову, вот этот список: Мавпродош, Лорнектиф, Древерол, Фиригарпиг, Клодобродыч.

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

Ваша задача такова: повторите код, который будет спрашивать у пользователя его ник и либо пускать на сайт (выведется сообщение «Ты – свой. Приветствую, любезный {НИК_ПОСЕТИТЕЛЯ}!»), либо нет (в этом случае будет такой текст: «Тут ничего нет. Еще есть вопросы?».

Фактически, будущий супергерой решил поиздеваться над теми, кого нет в его удивительном перечне, так как им будет показываться это сообщение постоянно. Очень коварный замысел!). Для проверки прозвищ посетителей используйте встроенную функцию input().

Пишите ваше решение в комментариях. Мы опубликуем решение через 3 часа.

#задача #задача42