Python 该函数返回none
它应该给出整数。这是一个关于hackerrank-Equal堆栈的问题Python 该函数返回none,python,python-3.x,Python,Python 3.x,它应该给出整数。这是一个关于hackerrank-Equal堆栈的问题 def equalStacks(h1, h2, h3): # # Write your code here. # stackSum = sumOfStack(h1, h2, h3) (stackSum1, stackSum2, stackSum3) = stackSum if stackSum1 == stackSum2 and stackSum1 == stackSum3
def equalStacks(h1, h2, h3):
#
# Write your code here.
#
stackSum = sumOfStack(h1, h2, h3)
(stackSum1, stackSum2, stackSum3) = stackSum
if stackSum1 == stackSum2 and stackSum1 == stackSum3:
return stackSum1
elif stackSum1 <= stackSum2:
if stackSum2 > stackSum3:
equalStacks(h1, h2[1:], h3)
else:
equalStacks(h1, h2, h3[1:])
elif stackSum2 <= stackSum3:
if stackSum3 > stackSum1:
equalStacks(h1, h2, h3[1:])
else:
equalStacks(h1[1:], h2, h3)
elif stackSum2 <= stackSum1:
if stackSum1 > stackSum3:
equalStacks(h1[1:], h2, h3)
else:
equalStacks(h1, h2, h3[1:])
else:
return -1
def sumOfStack(h1, h2, h3):
sumN1 = sum(h1)
sumN2 = sum(h2)
sumN3 = sum(h3)
return [sumN1, sumN2, sumN3]
第一个if语句应该返回整数,而不是返回None。不是在每个执行路径中都返回值
在每次调用
equalStacks
之前添加return
,可能的重复:请澄清您的测试用例
5 3 4,
3 2 1 1 1,
4 3 2,
1 1 4 1