a = int(input())
b = int(input())
# Проверяем, что a > b, как указано в условии задачи
if a <= b:
print("Ошибка: A должно быть больше B")
else:
# Начинаем с первого нечетного числа меньше или равного a
if a % 2 == 0:
start = a - 1
else:
start = a
# Завершаем на первом нечетном числе больше или равном b
if b % 2 == 0:
end = b + 1
else:
end = b
# Выводим все нечетные числа от start до end в порядке убывания
for i in range(start, end - 1, -2):
print(i)
a = int(input())
b = int(input())
if a % 2 == 0:
a -= 1
for i in range(a, b - 1, -2):
print(i)
Теперь код будет норм отрабатывать на всех тестах, включая твой косяк с 1001 и 1000.
Даны два целых числа A и В, A>B. Выведите все нечётные числа от A до B включительно, в порядке убывания.
a = int(input())
b = int(input())
if a % 2 != 0:
if b % 2 != 0:
for i in range(a, b-1, -2):
print(i)
else:
for i in range(a-1, b-1, -2):
print(i)
else:
for i in range(a-1, b-1, -2):
print(i)
Немного шакально, но как есть. Почему на все выдает правильно, кроме a = 1001, b = 1000?