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

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

@anothertechrock

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

def banknotes(n):
bank = [64, 32, 16, 8, 4, 2, 1]
res = []
for b in bank:
count = n // b
res += [b] * count
n -= count * b
return res

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

Анаграмма – слово (словосочетание), образованное путём перестановки букв, составляющих другое слово (или словосочетание). Функция is_anagram() принимает два слова. Реализуйте функцию таким образом, чтобы если эти слова являются анаграммами, она возвращала значение True, а в противном случае - значение False.

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

is_anagram('thing', 'night') --> True
is_anagram('cat', 'rat') --> False

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

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

def is_anagram(a, b):
return True if sorted(list(a)) == sorted(list(b)) else False

#pythonзадача #coбес
Data Science | Machinelearning - самый большой русскоязычный канал с полезными материалами на такие темы как, Machine Learning, Data Science, Алгоритмы, Python. Так же часто публикуются крутые 🔥 вакансии.

👉 Вам сюда: @devsp

А любителям читать статьи в оригинале вот сюда:
👉 @ds_international

Добро пожаловать!
Тест на умение перебирать словари

Перебор словаря — важное умение, которое пригодится в любой области. Проверьте, насколько хорошо вы умеете это делать!
Задача для новичков.

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

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

reverse_vowels('hello world') --> 'hollo werld'
reverse_vowels('Python is awesome') --> 'Pethon es awisomy'
reverse_vowels('algorithm') --> 'ilgorathm'

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

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

def reverse_vowels(s):
vowels = set('aeiouyAEIOUY')
s = list(s)
left, right = 0, len(s) - 1
while left < right:
if s[left] in vowels and s[right] in vowels:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
elif s[left] in vowels:
right -= 1
elif s[right] in vowels:
left += 1
else:
left += 1
right -= 1
return ''.join(s)

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

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

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

longest_substring("abcabcd") --> ("abc", 2)
longest_substring("ababab") --> ("ab", 3)
longest_substring("abc") --> (None, 0)

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

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

def longest_substring(s):
n = len(s)
substrings = set()
max_substring = None
max_count = 0
for i in range(n):
for j in range(i + 1, n + 1):
substr = s[i:j]
if substr in substrings:
count = s.count(substr)
if count > max_count:
max_substring = substr
max_count = count
elif count == max_count and len(substr) > len(max_substring):
max_substring = substr
else:
substrings.add(substr)
return (max_substring, max_count)

#pythonзадача #coбес
Тест. Словари Python

Словари — неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.

Проверьте, насколько хорошо вы знаете эту тему: пройдите тест по циклам из 10 вопросов!
Статья дня. Максимальное и минимальное значение int в Python

В этой статье мы рассмотрим, как получить максимальное и минимальное целочисленное значение (int) в Python. Мы разберем, в чем смысл этих значений и как их получить в версии Python до и после 3.0.

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

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

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

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

twoSum([2,7,11,15], 9) --> [0, 1]
twoSum([3,2,4], 6) --> [1, 2]
twoSum([3,3], 6) --> [0, 1]

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

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

def twoSum(nums, target):
num_dict = {}
for i in range(len(nums)):
compl = target - nums[i]
if compl in num_dict:
return [num_dict[compl], i]
num_dict[nums[i]] = i
return None

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

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

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

kidsWithCandies([2,3,5,1,3], 3) --> [True, True, True, False, True]
kidsWithCandies([4,2,1,1,2], 1) --> [True, False, False, False, False]

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

#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бес