Zastanów się nad tym, jak ten kod działa.
Iteruje on po kolejnych liczbach z operacji bitowej dwóch liczb i... zlicza ile ich jest, no bo w końcu nie ma tam żadnego warunku, który sprawdza czy liczba jest równa 1. Kolejnym błędem jest tutaj fakt, że 'zmienna' jest w zapisie dziesiętnym, czyli jest równa 100 a nie 1100100.
Twój program powinien wyglądać tak:
def checkio(n, m):
zmienna=bin(n^m)
suma=0
for i in zmienna:
if i == '1':
suma=suma+1
return suma
Następnym razem stosuj nazewnictwo zmiennych takie żeby było wiadomo do czego służą