我正在尝试创建一个带有两个参数的函数:D =数字(0-9)和n =正数。
如果D是奇偶数,函数应该给我0,但是,如果D是奇数,函数应该计算我在n中具有的奇数。
这段代码有问题,但是我不知道是什么:
def testD(D,n):
if D % 2 == 0:
return 0
count = 0
while n > 0:
if(n%10) %2==1:
count +=1
n=n/10
return count
我改变了两件事:
while n > 1:
而不是while n > 0:
否则,您的循环永不停止n=n//10
而不是n=n/10
,//
欧几里得分割在哪里,这是您需要的您应该尝试这样:
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)
为什么?您应该说明所做的更改及其重要意义。
为什么?您做了什么改变?您为什么要进行这些更改?您为什么认为这些更改将解决OP的问题?请花一些时间阅读如何编写好的答案。