2017-01-19 11 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

':プリント(FOO(10 + I))'、または範囲(10、20)にiについて '使用:プリント(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"に変更しました。

次に、単純なprintステートメントを使用して、入ってくる番号を印刷しました。これは、番号を循環させるループが必要な場合には削除できます。もちろん、 "foo(num + i)"を "print(num + i)"に変更します。

"num = 0"は変数を設定するので、後で使用できます。

範囲(10)内のiについてよろしく、 ジェリー

関連する問題