Как совершить вывод только один раз

c = 0
d = []
a = int(input())
b = int(input())
if a < -3000 or a > 0 or b < -3000 or b > 0:
    print("Error")
else:
    for d in range(min(a, b) + 1, max(a, b) - 1):
        if d % 2 != 0:
            c += 1
            print("Нечетных чисел " + str(c))

написал код, а при выводе выходит что-то по типу: Нечетных чисел 1 Нечетных чисел 2 Нечетных чисел 3 Нечетных чисел 4 Нечетных чисел 5 Нечетных чисел 6 Нечетных чисел 7 Нечетных чисел 8 Нечетных чисел 9 Нечетных чисел 10 Можно ли сделать так, чтобы мне выводился лишь конечный результат? В этом случае только 10


Ответы (2 шт):

Автор решения: cyr oil

Попробуй вынести print

c = 0
d = []
a = int(input())
b = int(input())
if a < -3000 or a > 0 or b < -3000 or b > 0:
    print("Error")
else:
    for d in range(min(a, b) + 1, max(a, b) - 1):
        if d % 2 != 0:
            c += 1
print("Нечетных чисел " + str(c))
→ Ссылка
Автор решения: Denis640Kb

Можно сделать ещё следующим образом:

a = int(input())
b = int(input())
def chet (a,b):
    d = []
    c = 0
    if a < -3000 or a > 0 or b < -3000 or b > 0:
        print("Error")
    else:
        for d in range(min(a, b) + 1, max(a, b) - 1):
            if d % 2 != 0:
                c += 1
        return str(c)

print(chet(a,b))
→ Ссылка