I changed 2 things :
while n > 1:instead ofwhile n > 0:otherwise your loop never stopsn=n//10instead ofn=n/10, where//is the euclidian division, which is what you need here
You should try this :
def testD(D,n):
if D % 2 == 0:
return 0
count = 0
while n > 1:
if(n%10) %2==1:
count +=1
n=n//10
return count
print(testD(7, 555))
# output : 3 (because 7 is odd, and there is 3 odd digits in 555)
2
solved programing function in python