我想做類似以下的事情。這是一個歐幾里德算法。
1.爲什麼當我想調用已經在調用堆棧中的函數時它不工作?
2.我如何使它工作?調用已經在調用堆棧中的函數
import sys
def __block_1__():
__block_2__()
def __block_2__():
global b,a
b,a=None,None
__block_3__()
def __block_3__():
global b,a
a=int(raw_input())
__block_4__()
def __block_4__():
global b,a
b=int(raw_input())
__block_5__()
def __block_5__():
global b,a
if a==b:
__block_6__()
else:
__block_7__()
def __block_6__():
global b,a
__block_8__()
def __block_8__():
global b,a
sys.exit(0)
def __block_7__():
global b,a
if a<b:
__block_9__()
else:
__block_10__()
def __block_9__():
global b,a
b=b-a
__block_5__
def __block_10__():
global b,a
a=a-b
__block_5__
__block_1__()
在您的塊9和10中,您不會調用'__block_5__',因爲您忘記了括號。你的代碼也難以閱讀。你爲什麼把所有的下劃線都放在這個地方? – BrenBarn 2014-09-19 07:04:33
這是一個自動生成的代碼。對不起,我沒有注意到。謝謝。 – ggt 2014-09-19 07:07:32