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

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

@anothertechrock

РКН: https://kurl.ru/Jhcwp
加入频道
Каким будет вывод этого кода?
Anonymous Quiz
30%
[0]
56%
[1]
4%
[1, 0]
4%
[0, 1]
6%
Посмотреть ответ
🐞Тестировщик рулит — клевый канал для тех, кому приходится тестировать. Официальный канал сайта qarocks.ru.

Пара фактов о канале:
— ребята публикуют уникальные материалы — например, составили большой гайд по тестированию
— составляют список вопросов на собеседовании тестировщика,
— публикуют подборки необходимых QA книг
— проводят регулярные холиварные обсуждения — вот, например, подписчики рассказывают, какие курсы проходили перед началом работы;
— держат руку на пульсе актуальных зарплат 2023 года в сфере тестирования;
— публикуют обучающие статьи и видео, профессиональный юмор;

Кому полезно:
— начинающим и продолжающим тестировщикам;
— тем, кто хочет войти в айти через тестирование;
— девам, которые тестируют свой код;

Подписывайся на QaRocks и узнай уже наконец разницу между тест-планом и баг-репортом 😇
Задача для новичков.

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

Примеры работы данной функции:

searchInsert([1,3,5,6], 5) --> 2
searchInsert([1,3,5,6], 2) --> 1

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

Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.

#pythonзадача #coбес
Ответ к предыдущей задаче для новичков.

def group_by_age(people):
result = {}
for name, age in people:
if age in result:
result[age].append(name)
else:
result[age] = [name]
return result

#новичок #coбес
Задача для новичков.

Напишите функцию is_valid(), которая принимает на вход скобочную последовательность (строку состоящую исключительно из символов '(', ')', '{', '}', '[', ']'). Данная функция должна возвращать True если скобочная последовательноть является правильной и False в противном случае.
Скобочная последовательность считается правильной если:
- каждая открытая скобка закрыта скобкой того же вида, то есть (), {}, [];
- открытые скобки закрыты в правильно порядке, то есть последовательность ({}) правильная, а ({)} нет;

Примеры работы данной функции:

is_valid("()[]{}") --> True
is_valid("(]") --> False

Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.

#pythonзадача #coбес
Ответ к предыдущей задаче для новичков.

def is_valid(s: str) -> bool:
stack = []
pairs = {')': '(', '}': '{', ']': '['}
for c in s:
if c in pairs:
if not stack or stack[-1] != pairs[c]:
return False
stack.pop()
else:
stack.append(c)
return not stack

#pythonзадача #coбес
Pythonist — официальный канал сайта pythonist.ru.

Один из немногих каналов специализирующихся на одном конкретном языке программирования Python.

На канале можно найти:

разбор вопросов с собеседований;
задачи на логику
книги;
алгоритмы;
тесты;
Django.

Подписывайтесь, чтобы полноценно прокачиваться в Python: @pythonist_ru
Тест. Списки (уровень — лёгкий)

Списки в Python — упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться). Хорошо ли вы умеете пользоваться ими? Пройдите тест по спискам из 10 вопросов и проверьте!
Статья дня. Как скачать видео с YouTube при помощи Python

YouTube позволяет сохранять видео в папке загрузок для просмотра в автономном режиме. Тем не менее, вы не можете сохранять их локально.

Из этого руководства вы узнаете, как написать код на Python для загрузки видео с YouTube. Вероятно, вам известно, что одним из достоинств Python является огромное количество модулей и библиотек. Мы напишем скрипт, используя популярный пакет pytube.

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

#читать
Задача для новичков.

Напишите функцию remove_element(), которая принимает два аргумента: целочисленный массив nums и целое число val. Данная функция должна вернуть массив, из которого удалены все элементы равные val и количество элементов в этом массиве.

Примеры работы данной функции:

remove_element([3, 2, 2, 3], 3) --> ([2, 2], 2)
remove_element([3, 2, 5, 5, 2, 3, 5, 1, 6], 5) --> ([3, 2, 2, 3, 1, 6], 6)

Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.

#pythonзадача #coбес
Ответ к предыдущей задаче для новичков.

def remove_element(nums, val):
k = 0
for i in range(len(nums)):
if nums[i] != val:
nums[k] = nums[i]
k += 1
nums = nums[:k]
return nums, k

#pythonзадача #coбес
Задача для новичков.

Есть лестница, состоящая из n ступенек. Вы можете за один шаг подниматься на 1 или на 2 ступеньки. Напишите функцию climbStairs(), которая бы подсчитывала количество всех возможных вариантов подняться на эту лестницу.

Примеры работы данной функции:

climbStairs(5) —> 8
climbStairs(8) —> 34
climbStairs(35) —> 14930352

Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.

#pythonзадача #coбес
Ответ к предыдущей задаче для новичков.

def climbStairs(n: int) -> int:
if n <= 2:
return n

dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2

for i in range(3, n + 1):
dp[i] = dp[i - 1] + dp[i - 2]

return dp[n]

Подумайте также как можно решить эту задачу, если существует возможность еще подниматься сразу на 3 ступеньки.

#pythonзадача #coбес
Видео дня. Делаем безопасную перезапись файла с помощью менеджера контекста

Контекстные менеджеры - очень полезная штука в Python. Давайте разберем использование context manager на примере atomic write. Т.е., если в процессе записи информации в файл произойдет ошибка, мы должны откатиться к предыдущей версии файла.

Ссылка на YouTube

#видео
Тест. Работа с числовыми выражениями в Python

Работа с числовыми выражениями — ежедневная рутина разработчика. Они постоянно используются в вычислениях, переменных, функциях, методах и условиях. Тема, в общем-то, простая, но в ней довольно легко запутаться и допустить ошибку.

Проверьте, насколько хорошо вы разбираетесь в числовых выражениях: пройдите тест из 10 вопросов!
Задача для новичков.

Напишите функцию containsNearbyDuplicate(self, nums: list[int], k: int) -> bool, которая принимает на вход массив целых чисел nums и целое число k. Данная функция должна возвращать True если в массиве есть два различных индекса i и j, такие что nums[i] == nums[j] и abs(i - j) <= k. В противном случае возвращается False.

Примеры работы данной функции:

containsNearbyDuplicate([1,2,3,1], 3) --> True
containsNearbyDuplicate([1,0,1,1], 1) --> True
containsNearbyDuplicate([1,2,3,1,2,3], 2) --> False

Присылайте ваше решения в комментарии к этому посту. Решение - сегодня вечером.

#pythonзадача #coбес
Ответ к предыдущей задаче для новичков.

def containsNearbyDuplicate(nums: list[int], k: int) -> bool:
num_dict = {}

for i in range(len(nums)):
if nums[i] in num_dict and abs(i - num_dict[nums[i]]) <= k:
return True
num_dict[nums[i]] = i

return False

#pythonзадача #coбес