- Исполнители
-
Обучение
Учебный центр Python Запускаемые примеры, NumPy, pandas и другое Учебный центр C и C++ Указатели, память, STL и современный C++ Учебный центр C#Основы C#, ООП, LINQ, async и упражнения .NET Алгоритмы на Python Поиск, сортировка, рекурсия и визуализация O(n) Алгоритмы на C и C++ Сравнение реализаций на C и C++
- Задачи
A 3×3 board is given as three strings of X, O and . (empty). A player wins with three of their marks in a row, column or diagonal. Boards never have two winners.
Implement tic_tac_toe_winner(board).
Input
board: Three rows of three characters each.
Output
Return "X" or "O" for the winner, "Draw" if the board is full with no winner, or "Pending" if empty cells remain and nobody has won.
Ограничения
board has exactly 3 rows of length 3
Примеры
Пример 1
Ввод:
board = ["XOX", ".X.", "O.X"]
Ожидаемый вывод:
"X"
Пояснение
X holds the diagonal from top-left to bottom-right, so X wins.
Пример 2
Ввод:
board = ["XOX", "XOO", "OXX"]
Ожидаемый вывод:
"Draw"
Пояснение
The board is full and no line has three of a kind: Draw.
Ссылки
-
Example 1 Не запущеноВвод:
board = ["XOX", ".X.", "O.X"]Ожидаемый вывод:"X"Ваш вывод -
Example 2 Не запущеноВвод:
board = ["XOX", "XOO", "OXX"]Ожидаемый вывод:"Draw"Ваш вывод
При отправке также выполняются ещё 5 скрытых теста.
Онлайн-компилятор и отладчик Python
Пишите, запускайте и отлаживайте Python онлайн. Используйте точки останова и пошаговое выполнение в серверном режиме — без установки.
🚀 4,273,864 всего выполнений (777,573 в этом месяце)
Практикуйте Python на задачах
Решайте задачи прямо в редакторе: запускайте тесты, отправляйте решение и получайте AI-рецензию.
🐍 Об онлайн-компиляторе Python
Онлайн-компилятор и интерпретатор Python от CodeUtility позволяет писать, запускать и тестировать код прямо в браузере — без установки и настройки. Он работает в безопасной песочнице и поддерживает реальные версии Python от 3.10 до 3.13.
Подходит для первого знакомства с Python, быстрой проверки сниппетов или отладки логики - инструмент предоставляет быстрый и не отвлекающий редактор кода. Экспериментируйте свободно и мгновенно смотрите результат в встроенной консоли.
Идеально для новичков, студентов и разработчиков, которым нужна облегчённая онлайн‑IDE для практики или быстрого прототипирования.
Больше, чем средство запуска кода
Используйте в одном исполнителе многофайловый редактор, изолированный терминал выполнения, библиотеки для выбранной среды, постоянные рабочие пространства, общий доступ и совместную работу в реальном времени.
Как пользоваться этим исполнителем?
Выберите среду выполнения, откройте или создайте файл, напишите код и нажмите «Запустить». Результат появится в терминале. Пользователи, вошедшие в систему, могут хранить файлы в рабочем пространстве, устанавливать библиотеки и совместно работать через общие ресурсы.
- Выберите версию и отредактируйте текущий файл или откройте другой файл рабочего пространства.
- Запустите код, при необходимости введите данные в терминале и просмотрите сохранённую историю запусков.
- Используйте библиотеки, инструменты рабочего пространства, общий доступ и чат, когда для задачи требуется несколько фрагментов кода.
💡 Основы Python и примеры, которые можно попробовать выше
1. Объявление переменных и констант
Python - язык с динамической типизацией, поэтому типы заранее объявлять не нужно. Встроенного ключевого слова для констант нет, но по соглашению константы пишут ПРОПИСНЫМИ буквами.
# Переменные
x = 10
pi = 3.14
name = "Алиса"
is_active = True
# Константы (по соглашению)
MAX_USERS = 100
APP_NAME = "CodeUtility"
# Константы всё ещё можно переопределить (не запрещено)
MAX_USERS = 200 # ⚠️ Технически допустимо, но не рекомендуется
2. Условные конструкции
Управляйте логикой с помощью блоков if, elif и else. В Python 3.10+ можно также использовать match-case как альтернативу switch-case.
# Обычный if-elif-else
x = 2
if x == 1:
print("Один")
elif x == 2:
print("Два")
else:
print("Другое")
Альтернатива: match-case (Python 3.10+)
# Требуется Python 3.10+
x = 2
match x:
case 1:
print("Один")
case 2:
print("Два")
case _:
print("Другое")
3. Циклы
for используется для перебора последовательностей, while выполняется, пока условие истинно.
for i in range(3):
print(i)
count = 3
while count > 0:
print(count)
count -= 1
4. Списки
Списки - упорядоченные изменяемые коллекции. Доступ к элементам осуществляется по индексу.
fruits = ["apple", "banana"]
print(fruits[0])
print(len(fruits))
5. Операции со списками
Добавляйте, удаляйте, берите срезы и переворачивайте списки. Генераторы списков позволяют компактно итерироваться.
fruits.append("cherry")
fruits.insert(1, "kiwi")
fruits.remove("banana")
fruits.pop()
print(fruits[1:3])
print(fruits[::-1])
squares = [x*x for x in range(5)]
6. Ввод/вывод в консоли
Используйте input() для чтения ввода и print() для вывода.
Можно напечатать несколько строк с помощью \n (символ новой строки) или вызвать print() несколько раз.
# Чтение ввода
name = input("Введите ваше имя: ")
print("Привет", name)
# Печать нескольких строк
print("Строка 1\nСтрока 2\nСтрока 3")
# Или используйте несколько вызовов print
print("Строка A")
print("Строка B")
print("Строка C")
7. Функции
Функции помогают организовывать код и переиспользовать его. Используйте параметры и возвращаемые значения.
def greet(name):
return "Привет " + name
print(greet("Алиса"))
8. Словари
Хранят пары ключ‑значение. Ключи уникальны, значения доступны по ключам.
person = {"name": "Боб", "age": 25}
print(person["name"])
print(person.get("email", "Не указано"))
9. Обработка исключений
Используйте try и except, чтобы корректно перехватывать и обрабатывать ошибки.
try:
x = 1 / 0
except ZeroDivisionError:
print("Нельзя делить на ноль")
10. Файловый ввод/вывод
Читайте и записывайте файлы с помощью open().
with open("data.txt", "w") as f:
f.write("Привет, мир")
with open("data.txt", "r") as f:
print(f.read())
11. Работа со строками
У строк Python есть мощные методы: strip(), replace() и split().
text = " Привет, мир "
print(text.strip())
print(text.upper())
print(text.replace("Привет", "Здравствуй"))
print(text.split())
12. Классы и объекты
Определяйте переиспользуемые шаблоны с помощью классов. Используйте __init__ для инициализации объектов.
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return "Привет, я " + self.name
p = Person("Алиса")
print(p.greet())
🐞 Как отлаживать Python-код онлайн
Онлайн-отладчик Python помогает находить логические ошибки без установки Python или IDE. Отладка выполняется в серверном режиме на Python 3.10–3.13.
- Выберите серверную версию Python в меню среды выполнения.
- Нажмите рядом с номером строки, чтобы установить одну или несколько точек останова.
- Выберите Debug, чтобы запустить программу и остановиться в первой подходящей точке.
- Проверьте текущую строку и переменные, затем используйте Continue, Step Over, Step Into или Step Out.
- Выберите Stop, чтобы завершить сеанс отладки.
Начните с небольшого воспроизводимого примера и поставьте точку останова перед местом, где значение становится неожиданным. Серверный режим также поддерживает файлы workspace и установленные библиотеки.