Python Turbo. Уютное сообщество Python разработчиков.
10.5K subscribers
246 photos
8 videos
1 file
186 links
Трюки и полезности Python.
Никакой воды, только полезные материалы.
Марафоны по кодингу, разбор вашего кода в чате.

Реклама: @anothertechrock

Перечень РКН: https://kurl.ru/gursU
Download Telegram
🐥 Задача по Python #31

Описание

Напишите функцию sum_of_squares, которая принимает список чисел в качестве входного аргумента и возвращает сумму квадратов всех элементов списка.

Примеры
sum_of_squares([1, 2, 3, 4, 5]) # 55 (1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55)

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
👍2
🐥 Задача по Python #32

Описание

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

Шахматная доска имеет координаты строк от A до H (вертикальные оси) и числа от 1 до 8 (горизонтальные оси).

Примеры
func('D', 5) # black

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
👍5
🐥 Задача по Python #33

Описание

Напишите функцию scramble(str1, str2), которая возвращает True, если часть символов str1 может быть переставлена так, чтобы соответствовать str2, в противном случае возвращает False.

Примечания

Будут использоваться только строчные буквы (a-z). Пунктуация и цифры не используются.
Необходимо учитывать производительность.

Примеры
scramble('rkqodlw', 'world') # True
scramble('katas', 'steak') # False

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
👍4👏1
🍳 Задача по Python #34

Описание

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

Примеры
3 3

1 2
2 3
1 3
# 2

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
👏2🤯1
🍳 Задача по Python #35

Описание

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

Примеры
calculate_rpn('5 3 + 8 * 4 /') # 16

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
🥰41
🐣 Задача по Python #37

Описание

Напишите генератор, который будет генерировать последовательность чисел Фибоначчи, но с ограничением по максимальному значению. Генератор должен прекратить работу, когда очередное число Фибоначчи превысит заданное ограничение.

Примеры
for num in fibonacci_with_limit(100):
print(num) # 1 1 2 3 5 8 13 21 34 55 89


Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
2
🥚 Задача по Python #36

Описание

Напишите функцию find_average, которая будет принимать список чисел и возвращать среднее значение всех элементов списка.

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

Примеры
find_average([5, 10, 15, 20]) # 12.5

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
1👍1
🍳 Задача по Python #38

Описание

Нужно написать функцию calculate, которая на вход принимает единственное действительное число A, а на выход возвращает такое число x, которое удовлетворяет выражению x²+√x = A. Ответ должен быть с относительной погрешностью 10^(-6).

Примеры
calculate(2.0) # 1.0
calculate(15.6) # 3.69823217


Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
👍4👏1
🐥 Задача по Python #39

Описание

Напишите функцию longest_sequence, которая принимает строку в качестве аргумента и возвращает длину самой длинной последовательности одинаковых символов в этой строке. Символы регистронезависимы.

Примеры
longest_sequence("aaabbBccc")     # 3 (ccc)
longest_sequence("Hello, world!") # 2 (ll)
longest_sequence("aabbbccddddd") # 5 (dd)
longest_sequence("xyz") # 1 (каждый символ - отдельная последовательность)


Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
🐥 Задача по Python #40

Описание

Напишите функцию rgb_to_hex(r: int, g: int, b: int) -> str, которая принимает значения красного (r), зеленого (g) и синего (b) компонентов цвета (каждое в диапазоне от 0 до 255) и возвращает строку, представляющую цвет в HEX формате.

Примеры
rgb_to_hex(255, 192, 0) # ffc000
rgb_to_hex(0, 128, 255) # 0080ff

Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
👍1
🍳 Задача по Python #41

Описание

Вам предоставляется список целых чисел и индекс n. Ваша задача - поменять местами значения первого и последнего элементов списка, второго и предпоследнего элементов списка и так далее до индекса n.

Примеры
reverse_indices([1, 2, 3, 4, 5, 6], 2) # [3, 2, 1, 4, 5, 6]

Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
🔥1
🐥 Задача по Python #42

Описание

Реализуйте функцию count_unique_elements, которая будет подсчитывать количество уникальных элементов в списке. Уникальные элементы не должны повторяться в подсчете, даже если они встречаются несколько раз.

Примеры
count_unique_elements([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])  # 4
count_unique_elements(['apple', 'banana', 'apple', 'cherry']) # 3
count_unique_elements([]) # 0

Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
🔥3🥱1
🐓 Задача по Python #43

Описание

Напишите функцию reverse_anagrams, которая принимает слово и список слов. Функция должна вернуть подсписок из anagrams, который состоит из слов, являющихся анаграммами слова.

Анаграмма - это слово или фраза, составленные из букв другого слова или фразы, при сохранении исходного порядка букв. Например, "listen" и "silent" - это анаграммы.

Примеры
reverse_anagrams("listen", ["enilst", "tac", "netsil", "silent"]) # ["netsil", "silent"]
reverse_anagrams("triangle", ["elgnirta", "square", "angeltir", "glenitar"]) # ["angeltir", "glenitar"]

Свой вариант решения в комментарии 💭
Кодом делиться через
pastebin.org или repl.it.

#задачи
👍31
🎓 Задача по Python #44

Описание


Напишите программу, которая проверяет, является ли число числом Армстронга.

Число Армстронга — натуральное число, которое в данной системе счисления равно сумме своих цифр, возведённых в степень, равную количеству его цифр.

Пример:


3**3 + 7**3 + 1**3 = 371

Решение:

def armstrong_number(num):
sum = 0
length = len(str(num))
for digit in list(str(num)):
sum += int(digit)**length
return sum == num


Свой вариант решения в комментарии 💬

#задачи
👍4
🎓 Задача по Python #45

Описание


Напишите программу, которая проверит, что две строки являются анаграммами.

Анаграмма - слово, которые получается путем перестановки букв другого слова.

Например:

мука - > кума

Решение:

def is_anagram(string1: str, string2: str):
return sorted(string1) == sorted(string2)

print(is_anagram('night', 'thing'))
print(is_anagram('cat', 'car'))


Свой вариант решения в комментарии 💬

#задачи
👍61
🎓 Задача по Python #46

Описание:

Напишите программу, которая проверит, что число является совершенным.
Совершенное число - натуральное число, равное сумме всех своих собственных делителей.
Например, число 6 равно сумме своих собственных делителей 1 + 2 + 3.

Примеры совершенных чисел:

6, 28, 496, 8128

Решение:

def get_divisors(num):
divisors = []
for i in range(1, num):
if num % i == 0:
divisors.append(i)
return divisors

def perfect_num(num):
divisors = get_divisors(num)
return num == sum(divisors)

print(perfect_num(6))
print(perfect_num(28))
print(perfect_num(496))
print(perfect_num(8128))

Свой вариант решения в комментарии 💬

#задачи
👏4👍1
🎓 Задача по Python #47

Описание
:

Напишите программу, которая удалит переданный символ из строки.
Сделайте это без использования метода .replace().

Свой вариант решения в комментарии 💬

#задачи
👍1
🎓 Задача по Python #48

Создайте функцию infinite(lst, tries), которая будет проходиться по элементам списка lst (целые числа) заданное количество раз (tries) циклически.
Один раз - один элемент списка.
После вывода последнего значения последовательности процедура начнется с самого начала.

Пример:

Если в списке 2 элемента, а функция получила значение 3, то сначала выведется первый объект, потом последний, а потом опять первый.
Результат работы функции представьте в виде строки, состоящей из tries количества символов.

Для решения задачи нужно использовать функцию cycle() из модуля itertools. Она перебирает последовательность циклически, а по мере достижения последнего элемента начинает заново.

Решение:

from itertools import cycle


def infinite(lst, iterations):
result = ''
iter_lst = cycle(lst)
if lst:
for symbol in range(iterations):
result += str(next(iter_lst))
return result

Свой вариант решения в комментарии

#задачи
👍31
🎓 Задача по Python #49

Описание:


Напишите функцию sum_range(start, end), которая суммирует все целые числа от значения «start» до величины «end» включительно.
Если пользователь задаст первое число большее чем второе, просто поменяйте их местами.

При решении удобно воспользоваться встроенными функциями range() и sum().

Решение:

def sum_range(start, end):
if start > end:
end, start = start, end
return sum(range(start, end + 1))

# Тесты
print(sum_range(2, 12))
print(sum_range(-4, 4))
print(sum_range(3, 2))

Результат выполнения:

77
0
5

Свой вариант решения в комментарии 💬

#задачи
👍62
🎓 Задача по Python #50

Описание:

Создайте класс Soda (для определения типа газированной воды), принимающий 1 аргумент при инициализации (отвечающий за добавку к выбираемому лимонаду).
В этом классе реализуйте метод show_my_drink(), выводящий на печать «Газировка и {ДОБАВКА}» в случае наличия добавки, а иначе отобразится следующая фраза: «Обычная газировка».

При решении задания можно дополнительно проверить тип передаваемого аргумента: принимается только строка.

Решение:

class Soda:
def __init__(self, ingredient=None):
if isinstance(ingredient, str):
self.ingredient = ingredient
else:
self.ingredient = None

def show_my_drink(self):
if self.ingredient:
print(f'Газировка и {self.ingredient}')
else:
print('Обычная газировка')


Свой вариант решения в комментарии 💬

#задачи