import sys
g = int(input())
def TwoStackSum():
sumList = []
for a0 in range(g):
n,m,x = input().strip().split(' ')
n,m,x = [int(n),int(m),int(x)]
a = list(map(int, input().strip().split(' ')))
b = list(map(int, input().strip().split(' ')))
while sum(sumList) < x:
try:
sumList.append(a.pop(a0))
sumList.append(b.pop(a0))
except IndexError:
break
while sum(sumList) > x:
sumList.pop(len(sumList)-1)
print(len(sumList))
sumList.clear()
TwoStackSum()
TwoStackSum()
我希望运行TwoStackSum函数的次数与for循环中的范围相同,但它运行没有任何限制。
答案 0 :(得分:1)
要调用方法g
次,请执行以下操作:
for _ in range(g):
TwoStackSum()
但是从函数内部删除TwoStackSum()
调用(在sumList.clear()
之后),否则它将永远循环。目前,当你调用你的方法时,它会自动调用它,无限期地再次调用它。
如果您按照目前的状态运行,则会获得RuntimeError: 'maximum recursion depth exceeded'
。
但是请确保这是你想要的,因为函数内的for循环:
for a0 in range(g):
对于g
函数的每次调用,也会被调用TwoStackSum()
次。