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

Реклама: @anothertechrock

Перечень РКН: https://kurl.ru/gursU
Download Telegram
🍳 Задача по 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('Обычная газировка')


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

#задачи