Я создаю программу для обхода подсписка списка, поэтому я создал рекурсивную функцию, которая не знает, почему дает мне значение None.
Сначала я расскажу вам все, что это за функция
давайте возьмем список:
M =[[1,2],[2,3],[3,4],[4,5]]
и у меня есть два значения, которые я передаю x и y, давайте возьмем
x=1 ,y=4
Теперь я хочу go через все это до 4, поэтому я использовал рекурсивную функцию, которая не работает
Вот полная программа
# cook your dish here
def traverse(x,y,M):
for i in M:
if x in i:
if x==i[0]:
res=x*i[1]
if i[1]==y:
return res
else:
M.remove(i)
return traverse(i[0],y,M)
else:
res=x*i[0]
if i[0]==y:
return res
else:
M.remove(i)
return traverse(i[1],y,M)
t=int(input())
for i in range(t):
n=int(input())
N=[]
for j in range(n-1):
r=list(map(int,input().split()))
N.append(r)
A=list(map(int,input().split()))
q=int(input())
Q=[]
for j in range(q):
c=list(map(int,input().split()))
Q.append(c)
for j in Q:
if j in N:
res=A[j[0]-1]*A[j[1]-1]
print(res)
elif j[0]==j[1]:
for k in N:
if j[0] in k:
res=A[k[0]-1]*A[k[1]-1]
print(res)
break
else:
M=list(N)
x=j[0]
y=j[1]
print(traverse(x,y,M))