АРЕНА ОДНОСТРОЧНИКОВ
Задача неделиЗадачиСоревнованияРейтингПравилаЧат
АРЕНА ОДНОСТРОЧНИКОВ

Арена для коротких Python-решений. Пиши в одну строку, побеждай длиной и чистотой мысли.

Python1 строкаКод-гольф

© 2026 Arena Oneliners. Все права защищены.

ЗадачиСоревнованияРейтингПравила
GitHubTelegram чатКонтакты

Пиши короче. Думай быстрее. Побеждай.

Задачи

Тренируйся и совершенствуй навыки написания однострочников

Темы
Показано задач: 115
Сортировка:
Bronze
Длина строки
Длина строки.
solution(s: str) -> int
Первое решение: +10Топ-1: +25#Строки
14 участников
Лучший: 6
Bronze
Переворот строки
Переверните строку.
solution(s: str) -> str
Первое решение: +10Топ-1: +25#Строки
10 участников
Лучший: 7
Bronze
Сумма списка
Верните сумму всех чисел в списке.
solution(nums: list) -> int
Первое решение: +10Топ-1: +25#Списки
9 участников
Лучший: 9
Silver
Палиндром?
Является ли строка палиндромом?
solution(s: str) -> bool
Первое решение: +20Топ-1: +25#Строки
8 участников
Лучший: 10
Bronze
Среднее
Среднее арифметическое списка.
solution(nums: list) -> float
Первое решение: +10Топ-1: +25
7 участников
Лучший: 19
Bronze
Максимум в списке
Найдите максимальное число в списке.
solution(nums: list) -> int
Первое решение: +10Топ-1: +25
7 участников
Лучший: 9
Bronze
Уникальные
Отсортированный список уникальных.
solution(lst: list) -> list
Первое решение: +10Топ-1: +25#Списки
6 участников
Лучший: 14
Bronze
Первые N
Первые n элементов списка.
solution(lst: list, n: int) -> list
Первое решение: +10Топ-1: +25
6 участников
Лучший: 7
Bronze
Модуль числа
Верните абсолютное значение.
solution(n: int) -> int
Первое решение: +10Топ-1: +25
6 участников
Лучший: 6
Bronze
Последний элемент
Верните последний элемент списка.
solution(lst: list) -> any
Первое решение: +10Топ-1: +25
6 участников
Лучший: 7
Bronze
Только чётные
Оставьте только чётные числа.
solution(nums: list) -> list
Первое решение: +10Топ-1: +25#Списки
5 участников
Лучший: 27
Bronze
Минимум в списке
Найдите минимальное число в списке.
solution(nums: list) -> int
Первое решение: +10Топ-1: +25
5 участников
Лучший: 9
Bronze
Длина списка
Верните количество элементов в списке.
solution(lst: list) -> int
Первое решение: +10Топ-1: +25#Списки
5 участников
Лучший: 8
Bronze
Десятичное в двоичное
Переведите десятичное число в строку с двоичной записью (без ведущих нулей). Для 0 верните '0'.
solution(n: int) -> str
Первое решение: +10Топ-1: +25#Числа
4 участников
Лучший: 10
Bronze
Последние N
Последние n элементов списка.
solution(lst: list, n: int) -> list
Первое решение: +10Топ-1: +25
4 участников
Лучший: 8
Bronze
Чётное число?
Верните True если число чётное.
solution(n: int) -> bool
Первое решение: +10Топ-1: +25
4 участников
Лучший: 6
Bronze
Первый элемент
Верните первый элемент списка.
solution(lst: list) -> any
Первое решение: +10Топ-1: +25
4 участников
Лучший: 6
Bronze
Анаграмма
Проверьте, являются ли две строки анаграммами (содержат одинаковые символы в любом порядке). Регистр имеет значение. Пробелы тоже считаются.
solution(a: str, b: str) -> bool
Первое решение: +10Топ-1: +25#Строки#Сортировка
3 участников
Лучший: 14
Bronze
Произведение
Произведение всех чисел.
solution(nums: list) -> int
Первое решение: +10Топ-1: +25
3 участников
Лучший: 12
Bronze
Элемент в списке?
Есть ли x в списке?
solution(lst: list, x: any) -> bool
Первое решение: +10Топ-1: +25#Списки
3 участников
Лучший: 8
Bronze
Сумма чисел в строке
Строка содержит числа через пробел. Верните их сумму.
solution(s: str) -> int
Первое решение: +10Топ-1: +25#Строки
3 участников
Лучший: 23
Bronze
Квадраты чисел
Возведите каждое число в квадрат.
solution(nums: list) -> list
Первое решение: +10Топ-1: +25
3 участников
Лучший: 20
Bronze
Удвоение чисел
Удвойте каждое число в списке.
solution(nums: list) -> list
Первое решение: +10Топ-1: +25
3 участников
Лучший: 19
Silver
По длине
Слова длиннее n.
solution(words: list, n: int) -> list
Первое решение: +20Топ-1: +25#Списки
3 участников
Лучший: 30
Silver
Переворот числа
Переверните цифры.
solution(n: int) -> int
Первое решение: +20Топ-1: +25
3 участников
Лучший: 34
Silver
Переворот слов
Переверните порядок слов.
solution(s: str) -> str
Первое решение: +20Топ-1: +25#Строки
3 участников
Лучший: 25
Bronze
Панграмма
Проверьте, является ли строка панграммой — содержит ли все 26 букв латинского алфавита (регистр не важен).
solution(s: str) -> bool
Первое решение: +10Топ-1: +25#Строки#Множества
2 участников
Лучший: 49
Bronze
Двоичное в десятичное
Переведите строку с двоичным числом в десятичное целое.
solution(s: str) -> int
Первое решение: +10Топ-1: +25#Числа
2 участников
Лучший: 8
Bronze
НОК
Найдите наименьшее общее кратное двух натуральных чисел.
solution(a: int, b: int) -> int
Первое решение: +10Топ-1: +25#Числа#Математика
2 участников
Лучший: 10
Bronze
НОД
Найдите наибольший общий делитель двух натуральных чисел.
solution(a: int, b: int) -> int
Первое решение: +10Топ-1: +25#Числа#Математика
2 участников
Лучший: 10
Bronze
Разбить строку
Разбейте по разделителю.
solution(s: str, sep: str) -> list
Первое решение: +10Топ-1: +25#Строки
2 участников
Лучший: 12
Bronze
Склеить строки
Объедините список через разделитель.
solution(lst: list, sep: str) -> str
Первое решение: +10Топ-1: +25#Строки
2 участников
Лучший: 13
Bronze
Только положительные
Оставьте только положительные числа.
solution(nums: list) -> list
Первое решение: +10Топ-1: +25#Списки
2 участников
Лучший: 24
Bronze
Индекс элемента
Индекс первого вхождения x.
solution(lst: list, x: any) -> int
Первое решение: +10Топ-1: +25
2 участников
Лучший: 32
Bronze
Счётчик элемента
Сколько раз x в списке?
solution(lst: list, x: any) -> int
Первое решение: +10Топ-1: +25
2 участников
Лучший: 12
Bronze
Нижний регистр
Преобразуйте в нижний регистр.
solution(s: str) -> str
Первое решение: +10Топ-1: +25#Строки
2 участников
Лучший: 9
Bronze
Верхний регистр
Преобразуйте в верхний регистр.
solution(s: str) -> str
Первое решение: +10Топ-1: +25#Строки
2 участников
Лучший: 9
Bronze
Положительное?
Верните True если число > 0.
solution(n: int) -> bool
Первое решение: +10Топ-1: +25
2 участников
Лучший: 3
Bronze
Подсчёт гласных
Подсчитайте количество гласных (a, e, i, o, u) в строке. Только строчные латинские буквы считаются гласными.
solution(s: str) -> int
Первое решение: +10Топ-1: +25#Строки
2 участников
Лучший: 28
Gold
Фибоначчи
N-е число Фибоначчи (F0=0, F1=1).
solution(n: int) -> int
Первое решение: +30Топ-1: +25#Математика
2 участников
Лучший: 16
Silver
Самый частый элемент
Верните элемент, который встречается чаще всего в списке. Если таких несколько — верните первый встретившийся.
solution(lst: list) -> any
Первое решение: +20Топ-1: +25#Списки#Словари
2 участников
Лучший: 22
Silver
Факториал
Факториал n.
solution(n: int) -> int
Первое решение: +20Топ-1: +25#Математика
2 участников
Лучший: 14
Silver
Title Case
Каждое слово с большой буквы.
solution(s: str) -> str
Первое решение: +20Топ-1: +25
2 участников
Лучший: 9
Silver
Счётчик слов
Количество слов в строке (разделитель — любые пробельные символы).
solution(s: str) -> int
Первое решение: +20Топ-1: +25#Строки
2 участников
Лучший: 14
Silver
Второй макс
Второе по величине уникальное.
solution(nums: list) -> int
Первое решение: +20Топ-1: +25
2 участников
Лучший: 21
Silver
Zip списков
Объедините в пары.
solution(a: list, b: list) -> list
Первое решение: +20Топ-1: +25#Списки
2 участников
Лучший: 11
Silver
Сглаживание
Сгладьте [[1,2],[3,4]] → [1,2,3,4].
solution(lst: list) -> list
Первое решение: +20Топ-1: +25#Списки
2 участников
Лучший: 11
Bronze
Транспонирование матрицы
Транспонируйте матрицу (список списков). Строки становятся столбцами.
solution(m: list[list[int]]) -> list[list[int]]
Первое решение: +10Топ-1: +25#Списки#Матрицы
1 участников
Лучший: 26
Bronze
Уникальные символы
Проверьте, все ли символы в строке уникальны (ни один не повторяется).
solution(s: str) -> bool
Первое решение: +10Топ-1: +25#Строки#Множества
1 участников
Лучший: 19
Bronze
Палиндром
Проверьте, является ли строка палиндромом (читается одинаково слева направо и справа налево). Регистр имеет значение.
solution(s: str) -> bool
Первое решение: +10Топ-1: +25#Строки
1 участников
Лучший: 10
Bronze
Повтор строки
Повторите строку n раз.
solution(s: str, n: int) -> str
Первое решение: +10Топ-1: +25#Строки
1 участников
Лучший: 3
Gold
Целый корень
Целая часть корня.
solution(x: int) -> int
Первое решение: +30Топ-1: +25#Математика
1 участников
Лучший: 10
Silver
Гипотеза Коллатца
Подсчитайте, сколько шагов нужно, чтобы число n пришло к 1 по правилу Коллатца: если чётное — делим на 2, если нечётное — умножаем на 3 и прибавляем 1.
solution(n: int) -> int
Первое решение: +20Топ-1: +25#Числа#Математика
1 участников
Лучший: 68
Silver
snake_case → CamelCase
Переведите строку из snake_case в CamelCase (UpperCamelCase). Каждое слово начинается с заглавной буквы.
solution(s: str) -> str
Первое решение: +20Топ-1: +25#Строки#Regex
1 участников
Лучший: 36
Silver
Цифровой корень
Найдите цифровой корень числа — складывайте цифры, пока не останется одна. Например: 493 → 4+9+3=16 → 1+6=7.
solution(n: int) -> int
Первое решение: +20Топ-1: +25#Числа#Математика
1 участников
Лучший: 57
Silver
FizzBuzz
Верните список строк для чисел от 1 до n: 'Fizz' если делится на 3, 'Buzz' если делится на 5, 'FizzBuzz' если на оба, иначе само число как строку.
solution(n: int) -> list[str]
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 96
Silver
Сорт по длине
Отсортируйте по длине.
solution(lst: list) -> list
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 19
Silver
Анаграмма?
Анаграммы ли строки?
solution(a: str, b: str) -> bool
Первое решение: +20Топ-1: +25#Строки
1 участников
Лучший: 20
Silver
Пересечение
Общие элементы (сохраните порядок a).
solution(a: list, b: list) -> list
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 24
Silver
Разность
Элементы a без b (сохраните порядок a).
solution(a: list, b: list) -> list
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 21
Silver
Слияние
Слейте отсортированные.
solution(a: list, b: list) -> list
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 11
Silver
Простое число
Определите, является ли число n простым (n ≥ 2).
solution(n: int) -> bool
Первое решение: +20Топ-1: +25#Числа#Математика
1 участников
Лучший: 38
Silver
Чанки
Разбейте на части по n.
solution(lst: list, n: int) -> list
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 41
Silver
Ротация
Сдвиг влево на n.
solution(lst: list, n: int) -> list
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 33
Silver
Каждый N-й
Каждый n-й элемент (с первого).
solution(lst: list, n: int) -> list
Первое решение: +20Топ-1: +25
1 участников
Лучший: 8
Silver
По убыванию
Отсортируйте по убыванию.
solution(nums: list) -> list
Первое решение: +20Топ-1: +25#Списки
1 участников
Лучший: 25
Gold
Игра «Жизнь» — один шаг
Вычислите следующее поколение в игре «Жизнь» Конвея. 1 = живая клетка, 0 = мёртвая. Правила: живая клетка выживает при 2–3 соседях, мёртвая оживает при ровно 3 соседях. Границы не оборачиваются (за пределами поля — мёртвые клетки).
solution(grid: list[list[int]]) -> list[list[int]]
Первое решение: +30Топ-1: +25#Матрицы
0 участников
Пока нет решений
Gold
Спиральная матрица
Верните элементы матрицы в порядке спирального обхода (по часовой стрелке, начиная с левого верхнего угла).
solution(m: list[list[int]]) -> list[int]
Первое решение: +30Топ-1: +25#Матрицы
0 участников
Пока нет решений
Gold
Умножение матриц
Перемножьте две матрицы A и B. Гарантируется, что размерности совместимы.
solution(a: list[list[int]], b: list[list[int]]) -> list[list[int]]
Первое решение: +30Топ-1: +25#Матрицы#Математика
0 участников
Пока нет решений
Gold
Скобочная последовательность
Проверьте, является ли строка корректной скобочной последовательностью. Строка содержит только символы ()[]{}.
solution(s: str) -> bool
Первое решение: +30Топ-1: +25#Строки
0 участников
Пока нет решений
Gold
Посмотри и скажи
Верните n-й элемент последовательности 'look-and-say' (начиная с 1). Последовательность: '1', '11', '21', '1211', '111221', ...
solution(n: int) -> str
Первое решение: +30Топ-1: +25#Строки
0 участников
Пока нет решений
Gold
Решето Эратосфена
Верните список всех простых чисел от 2 до n включительно.
solution(n: int) -> list[int]
Первое решение: +30Топ-1: +25#Числа#Математика
0 участников
Пока нет решений
Gold
Римские числа
Переведите целое число (1–3999) в римскую запись.
solution(n: int) -> str
Первое решение: +30Топ-1: +25#Числа
0 участников
Пока нет решений
Gold
Плоский список
Рекурсивно разверните вложенные списки в плоский. Например: [1,[2,[3,4]],5] → [1,2,3,4,5].
solution(lst: list) -> list
Первое решение: +30Топ-1: +25#Списки#Рекурсия
0 участников
Пока нет решений
Gold
RPN калькулятор
Вычислите RPN (деление — целочисленное с усечением к нулю).
solution(tokens: list) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
String to Int
Преобразуйте строку в int: пропустите ведущие пробелы, обработайте знак, считайте подряд идущие цифры; если цифр нет — 0.
solution(s: str) -> int
Первое решение: +30Топ-1: +25#Строки
0 участников
Пока нет решений
Gold
Биты наоборот
Переверните 32 бита (n — 32-битное беззнаковое).
solution(n: int) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Посчитай-скажи
N-й элемент последовательности.
solution(n: int) -> str
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Столбец Excel
AB → 28.
solution(s: str) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Лестница
Способов на n ступенек.
solution(n: int) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Сумма бинарных
Сложите бинарные.
solution(a: str, b: str) -> str
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Степень 2?
Степень ли двойки?
solution(n: int) -> bool
Первое решение: +30Топ-1: +25#Математика
0 участников
Пока нет решений
Gold
Строка Паскаля
N-я строка Паскаля.
solution(n: int) -> list
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Мажоритарный
Элемент > n/2 раз.
solution(nums: list) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Единственное
Встречается один раз.
solution(nums: list) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Пропущенное
Пропущенное в 0..n.
solution(nums: list) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Вес Хэмминга
Единичных битов.
solution(n: int) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Счёт простых
Простых меньше n.
solution(n: int) -> int
Первое решение: +30Топ-1: +25#Математика
0 участников
Пока нет решений
Gold
Общий префикс
Общий префикс строк.
solution(strs: list) -> str
Первое решение: +30Топ-1: +25#Строки
0 участников
Пока нет решений
Gold
Группы анаграмм
Сгруппируйте анаграммы. Внутри группы слова отсортированы, группы отсортированы по первому слову.
solution(strs: list) -> list
Первое решение: +30Топ-1: +25#Строки
0 участников
Пока нет решений
Gold
Слияние интервалов
Объедините пересекающиеся и соприкасающиеся интервалы. Результат отсортирован по началу.
solution(intervals: list) -> list
Первое решение: +30Топ-1: +25#Списки
0 участников
Пока нет решений
Gold
Макс подсумма
Макс сумма подмассива.
solution(nums: list) -> int
Первое решение: +30Топ-1: +25#Списки
0 участников
Пока нет решений
Gold
Два числа
Индексы с суммой target.
solution(nums: list, target: int) -> list
Первое решение: +30Топ-1: +25#Списки
0 участников
Пока нет решений
Gold
Уникальная подстрока
Длина без повторов.
solution(s: str) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Скобки
Валидны ли ()[]{}?
solution(s: str) -> bool
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Римское→Число
Римское число в int.
solution(s: str) -> int
Первое решение: +30Топ-1: +25#Математика
0 участников
Пока нет решений
Gold
Дес→Бин
Десятичное в двоичное.
solution(n: int) -> str
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Бин→Дес
Двоичное в десятичное.
solution(s: str) -> int
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Длиннейшее слово
Самое длинное слово.
solution(s: str) -> str
Первое решение: +30Топ-1: +25#Строки
0 участников
Пока нет решений
Gold
Подмножества
Все подмножества.
solution(lst: list) -> list
Первое решение: +30Топ-1: +25#Математика
0 участников
Пока нет решений
Gold
Перестановки
Все перестановки строки.
solution(s: str) -> list
Первое решение: +30Топ-1: +25
0 участников
Пока нет решений
Gold
Разложение на множители
Верните список простых множителей числа n (n ≥ 2) в порядке возрастания, с повторениями.
solution(n: int) -> list[int]
Первое решение: +30Топ-1: +25#Числа#Математика
0 участников
Пока нет решений
Silver
Строка треугольника Паскаля
Верните n-ю строку треугольника Паскаля (нумерация с 0). Строка 0 = [1], строка 1 = [1,1], строка 2 = [1,2,1], и т.д.
solution(n: int) -> list[int]
Первое решение: +20Топ-1: +25#Числа#Математика
0 участников
Пока нет решений
Silver
Шифр Атбаш
Зашифруйте строку шифром Атбаш: a↔z, b↔y, c↔x, ... Только строчные латинские буквы шифруются, остальные без изменений.
solution(s: str) -> str
Первое решение: +20Топ-1: +25#Строки
0 участников
Пока нет решений
Silver
Ротация списка
Сдвиньте список на k позиций вправо. Например, [1,2,3,4,5] при k=2 → [4,5,1,2,3].
solution(lst: list, k: int) -> list
Первое решение: +20Топ-1: +25#Списки
0 участников
Пока нет решений
Silver
Разбить список на чанки
Разбейте список на подсписки длиной n. Последний чанк может быть короче.
solution(lst: list, n: int) -> list[list]
Первое решение: +20Топ-1: +25#Списки
0 участников
Пока нет решений
Silver
Шифр Цезаря
Зашифруйте строку шифром Цезаря со сдвигом shift. Сдвигаются только строчные латинские буквы (a-z), остальные символы без изменений. Сдвиг может быть отрицательным.
solution(s: str, shift: int) -> str
Первое решение: +20Топ-1: +25#Строки
0 участников
Пока нет решений
Silver
RLE-сжатие
Выполните Run-Length Encoding строки. Каждый символ заменяется на символ + количество повторений подряд. Например: 'aaabbc' → 'a3b2c1'.
solution(s: str) -> str
Первое решение: +20Топ-1: +25#Строки
0 участников
Пока нет решений
Silver
Накопительная
[1,2,3] → [1,3,6].
solution(nums: list) -> list
Первое решение: +20Топ-1: +25#Списки
0 участников
Пока нет решений
Silver
Транспонирование
Транспонируйте матрицу.
solution(m: list) -> list
Первое решение: +20Топ-1: +25#Матрицы
0 участников
Пока нет решений
Silver
Сжатие RLE
aaabbc → a3b2c1.
solution(s: str) -> str
Первое решение: +20Топ-1: +25
0 участников
Пока нет решений
Silver
CamelCase → snake_case
Переведите строку из CamelCase в snake_case. Перед каждой заглавной буквой (кроме начала) вставьте '_' и переведите всё в нижний регистр.
solution(s: str) -> str
Первое решение: +20Топ-1: +25#Строки#Regex
0 участников
Пока нет решений
Silver
Счёт цифр
Количество цифр.
solution(n: int) -> int
Первое решение: +20Топ-1: +25
0 участников
Пока нет решений
Silver
Сумма цифр
Сумма цифр числа.
solution(n: int) -> int
Первое решение: +20Топ-1: +25
0 участников
Пока нет решений
Silver
Чередование
Чередуйте элементы.
solution(a: list, b: list) -> list
Первое решение: +20Топ-1: +25#Строки
0 участников
Пока нет решений