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

Дана папка. Подсчитайте количество файлов с расширением .html в этой папке.
Задача 60
Самые длинные слова

Дана строка с текстом. Выведите на экран самое длинное слово из этого текста (или слова, если несколько слов имеют одинаковую длину).
Задача 61
Файлы по папкам

Дана папка с файлами. Напишите код, который разложит эти файлы по папкам. В папку 1 первые 10 файлов, в папку 2 вторые 10 файлов и так далее.
Задача 62
Текст по файлам

Дан файл с текстом. Напишите код, который разложит части этого текста по файлам. Положите первые 10 строк текста в файл 1.txt, вторые 10 строк в файл 2.txt и так далее.
Задача 63
Сумма чисел из файла

Дан файл с текстом. В этом тексте встречаются числа. Найдите эти числа и запишите их в новый файл, каждое число на своей строке.
Задача 64
Емейлы из файла

Дан файл с текстом. В этом тексте встречаются емейлы. Найдите эти емейлы и запишите их в новый файл, каждый емейл на своей строке.
Задача 65
Конверсия времени

Дана переменная, содержащая некоторое количество секунд. Получите сколько дней, часов, минут и секунд содержится в этой переменной. Имеется ввиду, что сначала нужно выделить целое количество дней, из остатка выделить целое количество часов, из остатка выделить целое минут, а затем останется количество секунд. Результат представьте в виде словаря.
Задача 66
Проверка на степень

Проверьте, что целое число является степенью другого целого числа. Например, 4 - вторая степень двойки, 9 - вторая степень тройки, 16 - одновременно степень и двойки и четверки. Результатом верните все варианты разложения числа на основание степени и ее показатель.
Задача 67
Проверка на похожесть слов

Некоторые слова выглядят одинаково, если заменить русскую букву на английскую и наоборот. Например, русская и английская буквы 'o', а также 'H' и другие, совпадают. Это может создать проблемы на сайте, к примеру, можно зарегистрировать два 'одинаковых' ника с буквами из разных языков и писать от чужого имени.

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

Пусть есть папка с файлами, названия которых даны на русском языке. Преобразуйте русский текст в названиях файлов в его транслит.
Задача 69
Пересечение строк

Даны две строки. Выведите на экран только те слова, которые содержатся в обеих строках.
Задача 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
Сложность пароля

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