Python

Как правильно написать программу?

Создать программу, которая по введённому году определяет текущий век, а также количество оставшихся
до ближайшего столетия лет. В случае ввода отрицательной даты – считать, что речь идёт о временах до
нашей эры – и рассчитывать по соответствующей логике.
Нулевого года в календаре не существует.
Первый век нашей эры начался 01.01.0001
Потому, последний день первого века: 31.12.0100, а второй век начался 01.01.0101
Формула century = year // 100 + 1 ошибочна.

Непонятно, что такое "ближайший век". Если следующий, то:
 year = int(input())
if year > 0:
print('Век:', (year - 1) // 100 + 1, 'н.э.')
print('Осталось до следующего века:', 100 - (year - 1) % 100)
elif year < 0:
print('Век:', (year - 1) // 100 + 1, 'до н.э.')
print('Осталось до следующего века:', (year - 1) % 100 + 1)
else:
print('Года № 0 не существует')
Если год -103, до следующего века (год -100) осталось 3 года.
Если год 103, до следующего века (год 201) осталось 98 лет.

P.S. Да, XXI век начался 01.01.2001. И все те, кто отмечал его 01.01.2000, не понимают элементарную арифметику.
Миша Я)
Миша Я)
92 849
Лучший ответ
 year = int(input("Введите год: ")) 

if year < 0:
# Если год отрицательный, то речь идет о временах до нашей эры
century = (-year // 100) + 1
years_to_century = 100 - (-year % 100)
else:
# Если год положительный, то речь идет о нашей эре
century = year // 100 + 1
years_to_century = 100 - (year % 100)

print(f"Текущий век: {century}-й")
print(f"Осталось до ближайшего столетия: {years_to_century} лет")