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

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

@anothertechrock

РКН: https://kurl.ru/Jhcwp
加入频道
Ответ к предыдущей задаче для новичков.

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бес
Задача для новичков.

Напишите функцию addDigits(), которая принимает на вход целое число. На выходе она должна вернуть сумму всех цифр числа, причем ответ должен состоять только из одной цифры. Например, addDigits(38) --> 3 + 8 = 11 (число состоит из двух цифр, значит складывает дальше) --> 1 + 1 = 2. Таким образом, результат работы функции равен 2.

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

addDigits(355) --> 4
addDigits(2499) --> 6
addDigits(597) --> 3

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

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

def addDigits(num: int) -> int:
if len(str(num)) == 1:
return num
else:
return addDigits(sum(list(int(i) for i in str(num))))

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

#pythonзадача #coбес
Каким будет вывод в консоли следующего кода?
>>>list("a#b#c#d".split('#'))
Anonymous Quiz
70%
['a', 'b', 'c', 'd']
9%
['a b c d']
8%
['a#b#c#d']
9%
['abcd']
4%
Посмотреть ответ
Тест. Итераторы в Python (уровень Junior)

Итераторы — самая простая форма итерируемых объектов в Python. Любой итерируемый объект реализует протокол итератора.

Проверьте, насколько хорошо вы знаете эту тему: пройдите тест из 10 вопросов!
Статья дня. Как создать Telegram-бота с помощью Python

Автоматизированные чат-боты весьма полезны для стимулирования взаимодействия. Мы можем создавать таких ботов для Slack, Discord и других платформ. В этой статье я расскажу вам, как создать Telegram-бота, который расскажет вам ваш гороскоп. Итак, давайте приступим!

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

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

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

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

isPowerOfThree(27) --> True
isPowerOfThree(-1) --> False
isPowerOfThree(20) --> False

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

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

def isPowerOfThree(n: int) -> bool:
if n <= 0:
return False
while n % 3 == 0:
n //= 3
return n == 1

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

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

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

intersection([4,9,5], [9,4,9,8,4]) --> [9, 4]
intersection([1,2,2,1], [2,2]) --> [2]

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

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

def intersection(nums1, nums2) :
return list(set(nums1) & set(nums2))

#pythonзадача #coбес
Плейлист дня. Создание мини-блога на Django 4

Семь уроков по практическому использованию фреймворка Django.

#видео #django #english

Смотреть на YouTube
Тест. Логический тип данных (уровень Junior)

В Python, как и в других языках, есть логический тип переменных bool, который имеет всего два значения: True (истина) и False (ложь). Его возвращают логические операторы (например, при сравнении чисел или проверке наличия элемента в списке).

Хорошо ли вы умеете пользоваться булевыми значениями? Пройдите тест из 10 вопросов и проверьте!
Задача для новичков.

Напишите функцию isPerfectSquare(), которая определяет, является ли число поданное в качестве аргумента, полным квадратом другого числа. В это случае функция должна возвращать True, в противном случае False. Пользоваться встроенными функциями типа sqrt(), pow(), **0.5 запрещается.

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

isPerfectSquare(16) --> True
isPerfectSquare(20) --> False
isPerfectSquare(121) --> True

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

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

def isPerfectSquare(num):
if num < 1:
return False
left, right = 1, num
while left <= right:
mid = left + (right - left) // 2
square = mid * mid
if square == num:
return True
elif square < num:
left = mid + 1
else:
right = mid - 1
return False

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

Напишите функцию getSum(), которая принимает два целых неотрицательных числа a и b, а возвращает их сумму. При этом пользоваться операторами + и - запрещается.

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

getSum(42, 5) --> 47
getSum(3, 7) --> 10
getSum(4, 0) --> 4

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

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

def getSum(a, b):
while b != 0:
carry = a & b
a = a ^ b
b = carry << 1
return a

Данное решение не работает с отрицательными числами (по условиям задачи этого и не требовалось). Подумайте, как это можно исправить.

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