Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
Вывести сначала все публичные атрибуты класса str
в алфавитном порядке, а затем все
приватные атрибуты, тоже в алфавитном порядке, каждый с новой строки.
Названия приватных методов начинаются с символа '_
' (ascii 95).
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
Требуется реализовать на языке Python класс
Hello_world
.
У класса должен быть следующий интерфейс:
class Hello_world:
# Конструктор
def __init__(self):
pass
# Функция, по умолчанию возвращающая "Hello world!". В случае
# использования set_new_hello_world возвращаемое значение изменяется.
def get_hello_world(self):
pass
# Функция, изменяющая возвращаемое функцей get_hello_world значение на new_hello_world.
def set_new_hello_world(self, new_hello_world):
pass
Код решения должен содержать только определение и реализацию класса.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
Требуется реализовать на языке Python класс
Time
.
У класса должен быть следующий интерфейс:
class Time:
# Конструктор, принимающий четыре целых числа: часы, минуты, секунды и миллисекунды.
# В случае, если передан отрицательный параметр, вызвать исключение ValueError.
# После конструирования, значения параметров времени должны быть корректными:
# 0 <= GetHour() <= 23
# 0 <= GetMinute() <= 59
# 0 <= GetSecond() <= 59
# 0 <= GetMillisecond() <= 999
def __init__(self, hours=0, minutes=0, seconds=0, milliseconds=0):
pass
def GetHour(self):
pass
def GetMinute(self):
pass
def GetSecond(self):
pass
def GetMillisecond(self):
pass
# Прибавляет указанное количество времени к текущему объекту.
# После выполнения этой операции параметры времени должны остаться корректными.
def Add(self, time):
pass
# Оператор str должен представлять время в формате
# HH:MM:SS.milliseconds
def __str__(self):
pass
Код решения должен содержать только определение и реализацию класса.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 | time = Time(25, 11, 12, 1)
print(str(time))
time.Add(Time(0, 0, 0, 1010))
print(str(time))
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
Требуется реализовать на языке Python класс
ShiftableList(list)
, который наследуется от list
и реализует операторы циклического сдвига влево (<<)
и вправо (>>). Результатом выполнения этих операций должен быть
новый объект, при этом исходный не изменяется. Если операнд справа от оператора сдвига имеет тип, отличный от int
,
необходимо вызвать исключение TypeError
. В случае, если величина сдвига отрицательна,
должен выполниться сдвиг в противоположную сторону на количество позиций, равное модулю этой величины.
Код решения должен содержать только определение и реализацию класса.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 | lst = ShiftableList(['a', 'b', 'c'])
lst2 = lst << 1
print(', '.join(lst2))
|
|
2 | lst = ShiftableList(['a', 'b', 'c'])
lst2 = lst >> -2
print(''.join(lst), ''.join(lst2))
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
Требуется реализовать на языке Python класс
Chromosome
, который предполагается использовать при построении генетического алгоритма.
У класса должен быть следующий интерфейс:
class Chromosome:
# Chromosome class constructor
# Actual functionality is to set up an array called genes.
# If boolean flag fillGenes is set to True, genes must be
# filled with random values between 0 and 1, otherwise
# it must be filled with 0.
# Length of array genes must be equal to length
# constructor parameter.
# Also initializes local variable mutationRate
# with corresponding parameter.
def __init__(self, length, mutationRate, fillGenes=False):
pass
# Creates two offspring children using a single crossover point.
# The basic idea is to first pick a random position, create two
# children and then swap their genes starting from the randomly
# picked position point.
# Children genes must be different from both of parents.
#
# Returning type: (Chromosome, Chromosome)
def Crossover(self, another):
pass
# Mutates the chromosome genes in place by randomly switching them
# depending on mutationRate. More precisely, mutation
# of i-th gene happens with probability of mutationRate.
def Mutate(self):
pass
У класса должны быть следующие поля:
len(list(genes))
must be defined and equal to length;Код решения должен содержать только определение и реализацию класса.
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
То же для произвольного встроенного класса (Вывести сначала все публичные атрибуты класса в алфавитном порядке, а затем все приватные атрибуты, тоже в алфавитном порядке, каждый с новой строки.)
Входные данные содержат одну строку — название класса, список методов которого необходимо вывести.