Вычесть из суммы всех нечётных по порядку цифр сумму всех чётных по порядку

Нумерация цифр начинается с единицы и идёт справа налево. Приведенный ниже код - неверный.

n = input()
T = 0
i = 0
while i < len(n):
    if i % 2 == 0:
        T += int(n[i])
    else:
        T -= int(n[i])
    i = i + 1
print(T)

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

Автор решения: CrazyElf

Ну код то написать не сложно. Только боюсь вы его не сможете преподавателю объяснить.

print(sum(int((i % 2 - 0.5) * 2) * int(x) for i, x in enumerate(reversed(input()), 1)))
→ Ссылка
Автор решения: MBo

Если ваш код подправить:

n = input()
leng = len(n)
T = 0
for i in range(len(n)):
    if i % 2 == 0:
        T += int(n[leng-1-i])
    else:
        T -= int(n[leng-1-i])
print(T)

А можно и так:

n = int(input())
s = [0,0]
d = 1
while n:
    s[d%2] += n%10
    n //= 10
    d += 1
print(s[1]-s[0])
→ Ссылка