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

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

@anothertechrock

РКН: https://kurl.ru/Jhcwp
Download Telegram
Задача для новичков.

Напишите функцию 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бес
Задача для новичков.

Напишите функцию minLength(), на вход которой подается строка, состоящая только из заглавных латинских букв. Для ее модификации можно применять операцию удаления подстрок 'AB' или 'BC'. Функция должна вывести длину минимально возможной строки после применения всех доступных операций.

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

minLength("ABFCACDB") --> 2
minLength("ACBBD") --> 5

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

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

import re

def minLength(s: str) -> int:
match = re.search('AB|CD', s)
while match:
s = re.sub(r'AB|CD', '', s)
match = re.search('AB|CD', s)
return len(s)

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

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

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

makePalindrome("egcfe") --> 'efcfe'
makePalindrome("seven") --> 'neven'

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

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

def makePalindrome(s):
s = list(s)
n = len(s)
for i in range(n // 2):
j = n - i - 1
if s[i] != s[j]:
s[i] = s[j] = min(s[i], s[j])
return ''.join(s)

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

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

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

averageValue([1,3,6,10,12,15]) --> 9
averageValue([1,2,4,7,10]) --> 0

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

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

def averageValue(nums):
x = [i for i in nums if i % 2 == 0 and i % 3 == 0]
return 0 if len(x) == 0 else sum(x) // len(x)

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

Напишите функцию mostFrequentEven(), на вход которой подается список целых чисел. Эта функция должна вывести наиболее часто встречающееся целое число. Если таких несколько, то нужно вывести минимальное, а если их нет вообще, то вывести -1.

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

mostFrequentEven([0,1,2,2,4,4,1]) --> 2
mostFrequentEven([29,47,21,41,13,37,25,7]) --> -1

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

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

def mostFrequentEven(nums):
evens = [num for num in nums if num % 2 == 0]
if not evens:
return -1
return min(evens, key=lambda x: (-evens.count(x), x))

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

Напишите функцию smallestMultiple(), которая получает на вход целое положительное число n. Данная функция должна вернуть наименьшее положительное целое число, кратное как 2, так и n.

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

smallestMultiple(5) --> 10
smallestMultiple(6) --> 6

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

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

def smallestMultiple(n):
return n if n % 2 == 0 else 2 * n

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

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

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

findGreatestLetter("arRAzFif") --> 'R'
findGreatestLetter("AbCdEfGhIjK") --> ''

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

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

def findGreatestLetter(s):
return max([letter.upper() for letter in set(s) if letter.islower() and letter.upper() in s], default="")

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