Занимательные задачи Python
177 subscribers
2 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят каждый день в 14.00.
Download Telegram
Задача 70
Разделение числа на случайную сумму

Дано целое число. Разбейте его на случайное количество целых чисел так, чтобы в сумме они давали это число. Пример: 100 можно разбить на 50+50, или 51+49, или 20+30+50. Количество фрагментов должно быть любым, случайным, сами фрагменты тоже должны быть случайными.
Задача 71
Число прописью

Дано некоторое число:
1234567890

Выведите это число прописью:
'''
один миллиард двести тридцать четыре миллиона
пятьсот шестьдесят семь тысяч восемсот девяносто
'''

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

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

Выведите даты ближайших 10-ти вторников.
Задача 74
Тройки Пифагора

Найдите все тройки Пифагора в промежутке от 1 до 10000.
❤‍🔥1
Задача 75
Сложение часов и минут

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

Пример:
func('1ч 20 мин + 50 мин') // 2ч 10 мин
Задача 76
Разбитие строки до пробела

Обрежьте длинную строку так, чтобы ее длина была не более N символов. При этом слова не должны быть разорваны - обрезание всегда проходит по пробелу и новая строка всегда меньше N.
Задача 77
Подсчет цифр в числах

Подсчитайте суммарное количество цифр в числах от 1 до 1 000 000.
Задача 78
Подсчет многомерного списка

Дан многомерный список. Подсчитайте количество элементов, не являющихся списками, во всех уровнях вложенности.
Задача 79
Сложность пароля

Проверьте сложность пароля. Сложный пароль - это пароль с маленькими латинскими, большими латинскими буквами, цифрами и спецсимволами.
Задача 80
Проникновение списков

Напишите функцию, которая параметрами
будет принимать два списка:
func([1, 2, 3], ['a', 'b', 'c'])

А в качестве результата сливать
эти списки таким образом:
[1, 'a', 2, 'b', 3, 'c']
Задача 81
Частотная сортировка списка

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

Пример. На вход функции подаем
следующий список:
[5, 9, 2, 4, 1, 2, 5, 8, 2, 2, 8, 4, 5]

В результате после сортировки
получим следующий список:
[2, 2, 2, 2, 5, 5, 5, 4, 4, 8, 8, 9, 1]
Задача 82
Рост списка с исключением

Дан список с числами. Проверьте, что элементы списка выстроены по возрастанию. Допустимо, однако, одно место, в котором следующий элемент меньше предыдущего.
Задача 83
Увеличение цены в тексте

Дана строка с текстом. В этом
тексте есть цены в долларах:
'текст 10$ текст 20$'

Найдите все цены в этой строке
и увеличьте их на 10%:
'текст 11$ текст 22$'
Задача 84
Уровень вложенности многомерного списка

Дан произвольный многомерный список. Определите максимальный уровень вложенности этого списка.
Задача 85
Количество единиц

Найдите суммарное количество единиц в числах от 1 до 100.
Задача 86
Подсчет слов, начинающихся на букву

Напишите функцию, которая подсчитает, сколько слов в строке начинаются на заданную букву.
Задача 87
Варианты товаров

Дан список товаров с ценами. Дана сумма. Выведите все возможные комбинации товаров, которые можно купить на эту сумму.
Задача 88
Периодические дроби

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

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

Реализуйте функцию, которая будет принимать два целых числа, а возвращать результат деления одного на второе. При этом, если получается периодичская дробь, то ответ следует вывести примерно в таком виде: 1.(428571).