2017-01-19 66 views
-1

有沒有使用for循環來自動化函數的方法?例如 如果我寫..使用循環來自動化函數-python 3

def foo (a number): 
    return (a number) 

for i in range(10): 
    print(foo('1{}').format(str(i)) 

出來與AttributeError: 'NoneType' object has no attribute 'format'

+0

'爲i的範圍(10):打印(FOO(10 + i))的',或在範圍使用'對於i(10,20):打印(FOO(I) )'。整數不是字符串,只是使用算術來產生參數。 –

+0

所以,不,'str.format()'只適用於字符串,因爲它是一個字符串方法。這裏沒有字符串。另外,你發佈的代碼會拋出一個*'SyntaxError'異常*,而不是你聲稱得到的錯誤。 –

+0

因此,代碼只是一個例子,我實際上正在使用的是試圖連接一個字符串,我的壞應該作爲一個例子。雖然數字也是一樣,但會改變它。 – reuben

回答

0

好吧,我改變這一點,因爲它並沒有真正回答你的問題,但其簡單了很多比你正在試圖使它。實際上,它是一個被循環調用和更新的函數。所以,讓我們嘗試一下:

def foo(num): 
    print(num) 
num = 0 
for i in range(1,10,1): 
    foo(num + i) 

所以,我在這裏所做的是採取你的腳本,並改變它。首先,作爲參數的「數字」在嘗試定義它們時會導致語法錯誤。所以我把它改成了「num」。

然後,我用一個簡單的打印語句來打印出來的數字。如果您只是想讓循環通過數字循環,可以將其刪除。當然,將「foo(num + i)」改爲「print(num + i)」。

「num = 0」設置了一個變量,所以我們可以稍後使用它。

問候, 傑裏