ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

Как писать решения на Питоне

Для решений на языке Питон доступно два компилятора:

Синтаксис программ проверяется с помощью функции py_compile.compile. Ошибки типа IndentationError приведут к вердикту Compilation error уже на этом этапе. После этого интерпретатор запускается без дополнительных параметров: python %1. Поскольку язык Питон интерпретируемый, то ошибки типа NameError распознаются проверяющей системой как Runtime error, а не как Compilation error.

Как считать данные до конца входного потока

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

import sys

def process(line):
    ...

for line in sys.stdin:
    process(line[:-1])

В данном примере считываются все токены до конца входного потока.

import sys
tokens = sys.stdin.read().split()

Использование рекурсии

По-умолчанию глубина рекурсии в Питоне достаточно сильно ограничена (порядка 1000 вложенных вызовов). Это ограничение можно увеличить с помощью команды:

import sys
sys.setrecursionlimit(2000)

Пример решения задачи

Пример решения задачи 1000. A + B problem на Питоне:

print(sum(int(x) for x in input().split(' ')))

Пример решения задачи 1001. Обратный корень на Питоне:

import sys, math
nums = []
for line in sys.stdin:
   for word in line.split():
      nums.append(float(word))
nums.reverse()
for num in nums:
   print("%.4f" % math.sqrt(num))

Более эффективный вариант решения той же задачи:

from sys import stdin, stdout
from math import sqrt
tokens = reversed(stdin.read().split())
stdout.write('\n'.join(['%.4f' % sqrt(float(t)) for t in tokens]))

Прежние компиляторы

  • Python 2.7.3 использовался до 3 октября 2014 года.
  • Python 3.3.0 использовался до 3 октября 2014 года.
  • Python 3.4.1 использовался до 1 сентября 2017 года.
  • Python 2.7.8 использовался до 1 сентября 2020 года.
  • Python 3.6.2 использовался до 1 сентября 2020 года.
  • Python 3.8.5 x64 использовался до 22 января 2024 года.
  • PyPy 3.8 x64 использовался до 22 января 2024 года.