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

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

@anothertechrock

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

def lexicalOrder(n: int) -> list[int]:
return [int(i) for i in sorted(str(i) for i in range(1, n + 1))]

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

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

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

countSegments('Напишите функцию countSegments()') --> 3
countSegments('Под сегментами подразумеваются последовательности') --> 4

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

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

def countSegments(s: str) -> int:
return len(s.split())

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

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

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

findMissedNumbers([4,3,2,7,8,2,3,1]) --> [5, 6]
findMissedNumbers([1, 1, 1]) --> [2, 3]

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

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

def findMissedNumbers(nums: list[int]) -> list[int]:
return [i for i in range(1, len(nums) + 1) if i not in nums]

А вот более быстрый вариант, который работает за линейное время:

def findMissedNumbers(nums: list[int]) -> list[int]:
return list(set(range(1, len(nums) + 1)) - set(nums))

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

У вас есть n монет, из которых нужно построить лестницу. Лестница состоит из k рядов, в первом из которых строго одна монета, а в следующих на одну монету больше в каждом последующем. Соответственно, последний ряд может быть неполным. Вот пример такой лестницы:
$
$ $
$ $ $
$ $ $
Как видите, тут 4-й ряд неполон. Напишите функцию arrangeCoins(), которая принимает на вход целое число n (количество монет), а выводит количество полных рядов лестницы.

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

arrangeCoins(8) --> 3
arrangeCoins(5) --> 2

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

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

def arrangeCoins(n: int) -> int:
counter = 0
m = 0
row = 1
while m <= n:
m += row
row += 1
counter += 1

return counter if counter == row else counter - 1

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

Дополнение к целому числу — это целое число, которое вы получите, если замените все 0 на 1 и все 1 на 0 в его двоичном представлении. Например, целое число 5 — это «101» в двоичном представлени, а его дополнение — «010», то есть целое число 2.
Напишите функцию findComplement(), которая принимает на вход целое число, а выводит его дополнение.

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

findComplement(10) --> 5
findComplement(5) --> 2

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

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

def findComplement(num):
mask = 1
while mask < num:
mask = (mask << 1) + 1
return num ^ mask

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

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

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

chunkArray([1,2,3,4,5], 1) --> [[1], [2], [3], [4], [5]]
chunkArray([1,9,6,3,2], 6) --> [[1, 9, 6, 3, 2]]
chunkArray([1,9,6,3,2], 3) --> [[1, 9, 6], [3, 2]]

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

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

def chunkArray(arr, size):
chunked = []
index = 0
while index < len(arr):
chunked.append(arr[index:index+size])
index += size
return chunked

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