Роман Бессонов
100 программ в одну строчку кода Python

Данная книга твой путь в мир программировния сразу с практики, и создания рабочих программ. Как же меня достали все эти учебники которые дают кучу теории, какторую не понятно зачем вообще учить. Массивы, функции, переменные, которые обрущиваются на бедного человека, который только вчера хотел начать программировать, сегодня он уже этого не хочет, а хочет он вернутся в зону комфорта, где всё спокойно.

Если вы не раз возвращались и забрасывали программирования, спешу вас обрадовать, почти 70% программистов начинали именно так, а всё почему? Всё по тому, что изучать программирования с часовых ленкций и книги, которые дают теорию которые ты не знаеш как применить.

Так же спешу обрадовать, в этой книге такого не будет, только практика. Только готовые программы, и только в одну строчку кода. Эта книга не просто пратикческий учебник, а ещё и вызом мне, чтобы найти столько программ, которые можно было бы записать в одну строчку кода, и чтобы они не просто работали, но и приносили какую-то практическую пользу.

Математика и вычисления

1. СУММА ОТ 1 ДО 100

Вычисляет сумму всех чисел от 1 до 100 включительно. Простая демонстрация функции sum() в сочетании с range(). Используется в начальном изучении Python, при решении задач на циклы, арифметику и в простых калькуляторах или анализе данных.

print (sum(range (1, 101)))

range(1, 101) создаёт список чисел от 1 до 100.

sum() складывает все эти числа и выводит результат

-–

2. ФАКТОРИАЛ ЧИСЛА

Вычисляет факториал числа 5 с использованием рекурсивной lambda-функции. Факториал – это произведение всех чисел от 1 до n. Применяется в математике, комбинаторике, теории вероятностей и алгоритмах.

print (factorial := (lambda n: 1 if n==0 else n*factorial(n-1))(5))

factorial – это имя переменной, в которую сохраняется результат вычисления факториала

lambda – это способ создать небольшую функцию без имени, прямо внутри выражения. Её ещё называют анонимной функцией.

-–

3. ПЕРЕВОД ЦЕЛЬСИЯ °C В ФАРЕНГЕЙТА °F

Конвертирует температуру из градусов Цельсия (25 °C) в Фаренгейты по стандартной формуле: °F = (°C × 9/5) + 32. Результат округляется до двух знаков после запятой с помощью round(). Такой пересчёт часто нужен в погодных приложениях, умных домах, метеостанциях, системах мониторинга климата и т.д.

print (round((9/5)*25 + 32, 2))

(9/5)*25 + 32 – пересчёт градусов по формуле.

round(…, 2) – округляет результат до сотых.

print(…) – выводит результат.

-–

4. ОКРУГЛЕНИЕ ЧИСЛА π ДО 3 ЗНАКОВ

Округляет число π до трёх знаков после запятой с помощью встроенной функции round(). Это полезно, когда нужно представить число с заданной точностью. Округление чисел часто используется при расчётах с финансовыми данными, в математике, инженерии и при представлении данных в удобном для восприятия виде.

print (round(3.14159265, 3))

print(…) – выводит результат.

round(…, 2) – округляет результат до сотых.

-–

5. СТЕПЕНЬ ЧИСЛА

Этот скрипт возводит число 2 в степень 10 с помощью встроенной функции pow(). акой способ вычислений часто применяется в математических расчетах, криптографии, разработке игр, физическом моделировании и при работе с большими числами. Скрипт демонстрирует базовый принцип работы с возведением в степень на практике, а также показывает, как легко выполнять экспоненциальные вычисления в Python всего одной строкой кода.

print (pow(2, 10))

pow () – это функция используется для быстрого возведения одного числа в степень другого.

print () – выводит это значение в консоль.

-–

6. СУММА ЦИФР ЧИСЛА

Этот скрипт вычисляет сумму всех цифр числа 12345. Сначала число преобразуется в строку, чтобы получить доступ к каждой цифре отдельно. Затем с помощью функции map() каждая цифра преобразуется обратно в целое число. После этого все полученные числа суммируются с помощью функции sum() . Такой подход позволяет легко обрабатывать числа любой длины и часто используется в задачах на обработку чисел, алгоритмах проверки контрольных сумм, цифровых корней и в программировании базовых калькуляторов.

print (sum(map(int, str(12345))))

Что делает этот код:

Число 12345 преобразуется в строку '12345', каждая цифра '1', '2', '3', '4', '5' превращается обратно в число, затем все цифры складываются: 1 + 2 + 3 + 4 + 5 = 15. Результат выводится в консоль.

-–

7. КОРНИ КВАДРАТНОГО УРАВНЕНИЯ

Этот скрипт проверяет наличие действительных корней у квадратного уравнения вида ax² + bx + c = 0. Используется lambda-функция, которая принимает три аргумента: коэффициенты a, b и c. Вычисляется дискриминант D = b² – 4ac, и затем проверяется, неотрицателен ли он (D ≥ 0). Если дискриминант больше или равен нулю, уравнение имеет хотя бы один действительный корень. Такой метод часто используется в математических расчетах, при решении уравнений в инженерных и физических задачах, а также в программировании графики.

print ((lambda a, b, c: (b**2 – 4*a*c) >= 0)(1, 5, 6))

Что делает этот код:

Для уравнения x² + 5x + 6 = 0 вычисляется дискриминант: 5² – 4*1*6 = 25 – 24 = 1. Так как дискриминант положительный (1 ≥ 0), результат проверки – True, что означает наличие действительных корней. Выводится True в консоль.

-–

8. ЧИСЛА, КРАТНЫЕ 3 И 5

Этот скрипт создает список всех чисел от 1 до 100, которые одновременно делятся на 3 и 5, то есть на 15 без остатка. Для этого используется генератор списков ( list comprehension ) с условием внутри. Такой метод позволяет быстро фильтровать числа по заданному правилу и часто применяется в задачах на отбор данных, в анализе числовых последовательностей и при разработке тестов и логики игр.

print ([x for x in range(1, 101) if x%3==0 and x%5==0])

Что делает этот код:

Перебираются все числа от 1 до 100. Проверяется, что число делится на 3 (x % 3 == 0) и на 5 (x % 5 == 0). Если оба условия выполняются, число добавляется в итоговый список. В результате выводится список чисел: [15, 30, 45, 60, 75, 90].

––

9. ПРОСТЫЕ ЧИСЛА ДО 100

Используется функция filter() для отбора чисел, которые делятся только на 1 и сами на себя. Для проверки простоты каждого числа применяется lambda-функция с условием: число не должно делиться без остатка ни на одно другое число от 2 до квадратного корня из него. Этот подход оптимизирует проверку и уменьшает количество лишних делений. Такой способ часто применяется в задачах по теории чисел, криптографии и для поиска простых чисел в различных вычислительных алгоритмах.

print ([x for x in range(1, 101) if x%3==0 and x%5==0])

Что делает код:

Перебирает все числа от 2 до 99, проверяет, делится ли число на какое-либо меньшее число без остатка. Если нет – число простое и включается в итоговый список. Выводит список всех простых чисел до 100.

-–

10. СУММА КВАДРАТОВ

Этот скрипт вычисляет сумму квадратов всех чисел от 1 до 10 включительно. Для этого используется генераторное выражение внутри функции sum(). Генератор последовательно возводит каждое число из диапазона в квадрат и передает результат в sum(), которая складывает все полученные значения. Такой метод широко используется в математических расчетах, статистике, машинном обучении и при оптимизации алгоритмов, где важно быстро получать суммы различных последовательностей.

print (sum(x**2 for x in range(1, 11)))

Что делает этот код:

Каждое число от 1 до 10 возводится в квадрат (1², 2², 3², …, 10²), затем все квадраты суммируются: 1 + 4 + 9 + 16 + 25 + 36 + 49 + 64 + 81 + 100 = 385. Результат выводится в консоль.

-–

Работа с датами и временем

11. СЕГОДНЯШНЯЯ ДАТА

Выводит текущую дату в формате ГГГГ-ММ-ДД с помощью модуля datetime. Используется для отметки времени в логах, журналах, отчетах и автоматических скриптах.

from datetime import date; print(date.today())

Что делает этот код:

Импортируется класс date из модуля datetime. Функция date.today() возвращает сегодняшнюю дату, а print() выводит её в консоль в стандартном формате.

-–

12. ТЕКУЩЕЕ ВРЕМЯ

Печатает текущую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС. Использует модуль datetime и метод strftime() для удобного форматирования вывода. Применяется в логах, отчётах, системных уведомлениях и при записи событий.

from datetime import datetime; print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

Что делает этот код:

Импортируется класс datetime. datetime.now() получает текущие дату и время, а strftime('%Y-%m-%d %H:%M:%S') форматирует их в читаемый вид. Результат выводится в консоль.

-–

13. СКОЛЬКО ДНЕЙ ДО 2025 ГОДА

Вычисляет количество дней от текущей даты до 1 января 2025 года. Использует модуль datetime для работы с датами и разницу между ними. Применяется для создания таймеров, отсчётов до событий и дедлайнов в проектах.

from datetime import datetime; print((datetime(2025,1,1) – datetime.now()).days)

Что делает этот код:

Создаётся объект даты datetime(2025,1,1) для 1 января 2025 года. Вычитается текущая дата datetime.now(), получается разница в днях, которая выводится в консоль.

-–

14. Текущее UNIX-время

Печатает количество секунд, прошедших с 1 января 1970 года (UNIX-время). Подходит для временных меток.

import time; print(time.time())

15. Дата через 7 дней

Показывает дату, которая наступит через 7 дней от текущего момента. Удобно для напоминаний и дедлайнов.

from datetime import timedelta, datetime; print(datetime.now() + timedelta(days=7))

Строки и текст

16. Преобразование строки в заголовок с заглавными буквами

Скрипт автоматически делает первую букву каждого слова в строке заглавной, а остальные – строчными. Это удобно при оформлении заголовков, названий статей, пунктов меню и других текстов, где важно выделение слов с большой буквы. Особенно полезен при обработке пользовательского ввода или автоматическом форматировании данных.

print ("hello world".title())

Как он работает:

Метод .title() применяется к строке и возвращает новую строку, где каждое слово начинается с заглавной буквы. Слова определяются по пробелам и другим разделителям. В примере "hello world" превращается в "Hello World".

-–

17. Удаление лишних пробелов в строке

Скрипт удаляет пробелы (и другие невидимые символы, такие как табуляции и переводы строк) в начале и в конце строки. Это особенно полезно при обработке пользовательского ввода, чтении данных из файлов или работе с формами, чтобы избежать ошибок из-за случайных пробелов. Чистый и аккуратный текст – залог корректной обработки данных.

print ("Пушистый кот ".strip())

Как он работает:

Метод .strip() удаляет все начальные и конечные пробелы из строки. В данном примере строка "Пушистый кот " превращается в "Пушистый кот". Внутренние пробелы не удаляются.

-–

18. Получение домена из email-адреса

Скрипт позволяет получить доменную часть из адреса электронной почты – всё, что идёт после символа @. Это полезно для анализа, фильтрации, сортировки email-адресов, а также для проверки принадлежности к определённому домену (например, корпоративной почте). Часто используется в обработке форм, баз данных и автоматизации.

print ("spam@example.com".split("@")[1])

Как он работает:

Метод .split("@") – разбивает строку на две части по символу @.

("spam", "example.com") – возвращается список.

Обращение по индексу [1] позволяет получить вторую часть – домен "example.com".

-–

19. Проверка, содержит ли строка только цифры

Скрипт проверяет, состоит ли строка исключительно из цифр, и возвращает True или False. Это удобно для валидации пользовательского ввода – например, при заполнении форм, проверке номеров телефонов, идентификаторов или других числовых данных, чтобы убедиться, что введённая строка не содержит букв или символов.

print ("123".isdigit())

Как он работает:

Метод .isdigit() возвращает True, если все символы строки являются цифрами (0–9) и строка не пуста. В примере строка "123" состоит только из цифр, поэтому результат – True. Если бы в строке были буквы, пробелы или другие символы, результат был бы False.

-–

20. Проверка строки на палиндром

Скрипт определяет, является ли строка палиндромом – то есть читается ли она одинаково слева направо и справа налево. При этом игнорируются пробелы и регистр символов. Это полезно в задачах обработки текста, при создании игр, головоломок, а также в задачах на распознавание и анализ симметрии в строках.

print ("A man a plan a canal Panama".replace(" ", "").lower() == "amanaplanacanalpanama"[::-1])

Как он работает:

Метод .replace(" ", "") – удаляет все пробелы из строки.

Метод .lower() – приводит все символы к нижнему регистру.

Если строки совпадают – значит, это палиндром, и результат будет True. Сравнивается полученная строка с её обратной версией ([::-1]).

––

Работа с файлами

21. Чтение содержимого файла

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

print (open("file.txt").read())

Как работает код:

Функция open("file.txt") открывает файл в режиме чтения по умолчанию. Метод .read() считывает всё содержимое файла как одну строку. Команда print(…) выводит эту строку в консоль. Если файл не найден, возникнет ошибка FileNotFoundError.

-–

22. Запись строки в файл

Скрипт создаёт новый файл или перезаписывает существующий, записывая в него указанную строку. Это полезно для сохранения логов, результатов вычислений, генерации отчётов, временных данных и другого текстового вывода из программ. Простой способ быстро сохранить данные на диск.

open ("file.txt", "w").write("Hello!")

Как работает код:

Функция open("file.txt", "w") открывает файл в режиме записи ("w"). Если файл существует, он будет очищен; если не существует – создан. Метод .write("Hello!") записывает строку "Hello!" в файл. После выполнения в файле file.txt окажется указанный текст.

-–

23. Подсчёт строк в файле

Скрипт считает количество строк в текстовом файле, что особенно полезно при работе с логами, большими текстами, списками и таблицами. Быстрый способ оценить объём информации, например, количество записей или сообщений в файле. Может использоваться при проверке корректности загрузки данных.

print (len(open("file.txt").readlines()))

Как работает код:

Метод .readlines() считывает файл и возвращает список строк. Каждая строка – отдельный элемент списка. Функция len() считает количество элементов в этом списке, то есть количество строк в файле. Результат выводится с помощью print(…).

-–

24. Подсчёт общего количества символов в файле

Скрипт вычисляет суммарное количество символов во всех строках файла. Это полезно для анализа объёма текста, оценки размера данных, статистики символов или контроля длины вводимой информации. Часто применяется при обработке текстов, логов и при генерации метрик.

print (sum(len(line) for line in open("file.txt")))

Как работает код:

Файл открывается построчно, и для каждой строки вычисляется её длина с помощью len(line). Генератор проходит по всем строкам, а функция sum() складывает длины, получая общее количество символов в файле, включая пробелы и символы перевода строки.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.