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

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

Канал не для senior python developers и даже не для middle, хотя и вам будет что посмотреть.

С рекламой: @anothertechrock
@aldrson
Download Telegram
Трюк дня. Встроенный метод issubclass()

При помощи встроенного метода "issubclass()" можно проверить отношения наследования для класса:

>>> class BaseClass: pass
>>> class SubClass(BaseClass): pass

>>> issubclass(SubClass, BaseClass)
True
>>> issubclass(SubClass, object)
True
>>> issubclass(BaseClass, SubClass)
False

#tips
Задача с решением. Меняем местами первый и последний элемент списка

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

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

#задача #задача35
Задача с решением. Меняем местами первый и последний элемент списка

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

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

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

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

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

#задача #марафон2
Привет, друзья! Вот мы и подобрались к окончанию нашего марафона. Сегодня вечером выйдет последняя, десятая задача.

Хотим вас предупредить, что с проверкой решений будет задержка: наш ментор заболел. Просим отнестись с пониманием!

Команда Pythonboost
Кодинг-марафон. Задача № 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
Вакансия дня. Python Developer Middle (backend)

https://t.me/ru_pythonjobs/22207

Формат работы: офис (Москва)
Условия: полная занятость
ЗП: 180 т.руб.

Откликнуться: @naranovaekaterina

#работа #вакансия
Статья дня. Крутые модули Python, которые вы не используете, а надо бы

Рассмотрели некоторые малоизвестные модули и методы, с помощью которых можно улучшить код на Python в плане читаемости и производительности.

Читать статью

#читать
Вакансия дня. Back-end разработчик Python

https://proglib.io/vacancies/back-end-razrabotchik-python-antonov-group-2021-11-15

Формат работы: удалёнка
Условия: полная занятость
ЗП: 80-120 т.руб.

#работа #вакансия
Друзья, наши знакомые тестировщики открыли новый канал с вакансиями: https://t.me/qajoboffer. Если кто-то задумывался над стартом в IT в QA - вам туда.
Трюк дня. Использование нескольких **kwargs

Python 3.5+ позволяет передавать в функцию несколько наборов именованных аргументов ("kwargs") в рамках одного вызова с использованием синтаксиса **:

>>> def process_data(a, b, c, d):
>>> print(a, b, c, d)

>>> x = {'a': 1, 'b': 2}
>>> y = {'c': 3, 'd': 4}

>>> process_data(**x, **y)
1 2 3 4

>>> process_data(**x, c=23, d=42)
1 2 23 42

#tips
Видео дня. Разработка игр на Python. Урок 1

Начинаем делать игру Space Invaders на языке программирования Python с использованием библиотеки Pygame. Установим модули, настроим и отрисуем на экране изображение пушки из нашей будущей игры.

Ссылка на YouTube

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

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

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

#задача #задача36