我使用pyhton到名爲遞歸函數的遞歸函數全局變量sphereinput的函數需要返回一個變量名結果作爲output.By宣佈它作爲遞歸函數我西港島線沒有全球在函數結束處使用return。 將函數返回結果具有正確的答案在我的程序的主文件調用時。 我的保留意見是,每次調用自身的功能sphereinput全局變量結果將進行相應的更新,對不對?在蟒蛇
def sphereinput(parameters)
global result
Recursive call to sphereinput
result=assigned value
請注意,我沒有使用return語句here.Do我有什麼打算? 此外,當我在相同的文件作爲主要代碼中定義它的每一個調用之後起作用它開始執行以下功能的代碼行再次它們的主代碼的一部分,必須不被執行。
如果我在其他文件中定義這個功能我如何把它從主文件,然後哪些變量將同時擁有在主函數代碼文件中定義的全局?
從全局變量的禍害保存自己,只是返回。這很容易,而且出錯的可能性也較小。 – zondo
同意@zondo。而且,你不能立即推斷代碼的作用並不是一件好事。遞歸函數通常應該是無副作用的,也就是說它們不會影響本地範圍以外的任何東西。 –
如果我只是返回變量,即使涉及遞歸,它是否會給出正確答案? –