Вот моя функция, важная строка, где я снова вызываю f ().
def f(num,xyz,possible,temp):
y = num%9
x = num-y
print num
for xyz[num] in possible[num]:
if ispossibility(temp,xyz[num],x,y) == True:
temp[num] = xyz[num]
if num != 80:
f(num+1,xyz,possible,temp) # i call f() with num incremented
else:
print 'yes'
exit()
Вывод программы
0
1
2
3
4
5
6
7
8
3
2
3
3
Проблема в том, что всякий раз, когда вызывается функция f (), переменная num всегда должна увеличиваться на 1. Но из выходных данных f () вызывается с num, равным 3, когда раньше было восемь. И поэтому мне интересно, как это возможно (вывод должен быть 9 между прочим, а не 3), когда f () всегда вызывается w / num с шагом 1. Я смотрел на эту функцию в течение некоторого времени, и я действительно не понимаю, что происходит.