如果我寫:Python函數號不會影響它運行多少次?
def f(n):
blah
f(x)
這時只要「X」是一個數字,F將運行一次。例如我剛剛嘗試過:
def f(n):
c = 1
print c
f(x)
'x'爲0,然後爲10,輸出爲'1'兩次。數字'x'實際上代表什麼,以及如何讓函數運行'x'次數?
我已經用解決方法解決了我的問題(我之前會發布此問題,但顯然我僅限於每90分鐘發佈一次),但我仍然想知道未來。
我的程序看起來與此類似:
def f(n):
m = 0
c = blah
if condition(c):
m = 1
d = line involving c that had to be run before the end of the function loop, but after the if statement
f(m)
f(1)
但產量不斷循環,因爲即使m = 0時,F(0)還是造成了功能循環。我的解決方法是:
m = 0
def f(n):
global m
m = 0
c = blah
if condition(c):
m = 1
else:
m = 0
d = line involving c that had to be run before the end of the function loop, but after the if statement
if m = 1:
f(1)
f(1)
後就正常了(實際上,回頭看的話,我不認爲「d」確實需要if語句後運行,所以我可以,如果條件剛剛做了(c):f(1)),但似乎是多餘的。我不知道爲什麼我必須爲f(n)指定一個數字,但是如果我將它留空或輸入一個字符串,它將無法運行。有沒有一個「笨拙」的解決辦法呢?
(我真的很新的節目,所以請解釋相當簡單而言..!)
謝謝!
哦,好的,所以如果我把範圍(n)放在我的範圍內:... if:n + = 1或者什麼的 - 那可行嗎?雖然我猜想,因爲它只在函數的開始處讀取'in range in(n)',所以if命令不會改變任何內容,並且該函數仍然只會運行一次。 – Patrik333 2014-12-05 03:13:39
此外,我仍然不確定爲什麼函數首先需要一個參數,因爲您可以只寫「for i in range(x)」,而不是......?我想這樣寫起來更容易,就像你調用函數時那樣? – Patrik333 2014-12-05 03:20:12
@Patrik,你不需要_change_'i','for-range'循環爲你做。而且,就參數而言,這只是良好的編碼習慣。你可能想從其他地方調用函數,使用'y'或'42'。我將修改示例以顯示這兩個功能。 – paxdiablo 2014-12-05 03:20:16