【发布时间】:2019-08-10 21:29:05
【问题描述】:
我正在尝试编写一个递归函数,它以整数作为参数并返回整数中总和为 10 的数字对的数量。例如,findPairs(28164730) 将返回 3,因为 2+8=10 , 6+4=10, 7+3=10。
这就是我的代码现在的样子:
def find(x):
x = str(x)
count = 0
if str((10 - int(x[0]))) in x:
count = count + 1
x = x[1:]
find(x)
elif len(x) > 1:
x = x[1:]
find(x)
return count
我遇到的问题是该函数将始终返回计数为 1,因为我再次调用它以进行递归,并且它将计数设置回 0,而不是每次配对时将计数加 1成立。有谁知道我该如何解决这个问题?
【问题讨论】:
-
555怎么样?您会将(5,5)视为一对还是三个不同的对?