Полные обороты не влияют на положение финиша, так что их можно вычесть из дистанции. Периметр прямоугольника равен P = 2(A + B), так что после выкидывания полных оборотов дистанция будет равна L mod P, где mod - операция взятия остатка. После этого L < P; если L < A, то финиш будет снизу, если A < L < A + B - справа, если A + B < L < 2A + B - сверху, а иначе слева.
Код (python 3):
A = int(input())
B = int(input())
L = int(input())
P = 2 * (A + B)
L = L % P
if L < A:
print("BOTTOM")
elif L < A + B:
print("RIGHT")
elif L < 2 * A + B:
print("TOP")
else:
print("LEFT")
class Person(object):
def __init__(self, name = 'Bob', age = 25): #Значения по умолчанию заданы в конструкторе
self._name = name
self._age = age
@property
def name(self): #Свойство, возвращающее значение obj._name
return self._name
@property
def age(self): #Свойство, возвращающее значение obj._age
return self._age
def say_hi(self): #Рандомный метод
print(f'Hi, im {self._name}, im {self._age} yo')
def set_age(self, value): #Метод для изменения значения свойства obj._age
if value in range(1, 101):
self._age = value
else: raise RuntimeError('Bad Argument', f'Cant set age {value}, age must be in range [1, 100]')
Объяснение:
Второй класс попробуй реализовать сам
=$C3-E$1 - то что жирным зафиксировано, при копировании эта часть не изменится
=$C3-E$1 - то что жирным не зафиксированы, они изменятся
как изменятся:
В1 - 1 строка 2 столбец
$C3 - 3 строка 3 столбец
E$1 - 1 строка 5 столбец
в ячейке С4 - 4 строка 3 столбец, по отношению к В1 плюс 3 строки и плюс 1 столбец
в формуле =$C3-E$1 изменится =$C(3+3)-(E+1)$1
и будет выглядеть так =$C6-F$1