-3

関数を機能させようとしてきましたが、なぜ得られるのかわかりません

TypeError: stringCounter() takes exactly 1 argument (0 given)

このコードを実行するたびに

def stringCounter(count):
     name ='Hi'
     formatString = "%s run count is %d"
     print formatString % (name, count)

test = stringCounter()

test.stringCounter(1)

渡された変数をいじって、自分自身を追加しようとしましたが、何が間違っていますか? みんなありがとう!

4

5 に答える 5

4

これ:

test = stringCounter()

明らかに間違っていstringCounter()ます。引数を渡さずに関数を呼び出します。エラーが言うように。この行を削除するだけです。

この:

test.stringCounter(1)

も間違っています。プログラムでtest呼び出される関数を含むものは呼び出されません。stringCounter()次のようにする必要があります。

stringCounter(1)
于 2013-07-11T14:56:49.590 に答える
4

エラーは一目瞭然です:

test = stringCounter()

stringCounter()1つ(つまりcount)が予想される場合、ここに引数を渡していません。あなたはおそらく単に欲しい

stringCounter(1)  # don't assign this to anything, it returns None
于 2013-07-11T14:56:53.357 に答える
1

これを行う:

test = stringCounter

test(1)

または直接:

stringCounter(1)
于 2013-07-11T14:57:25.247 に答える
0

行に引数を指定せずに stringCounter を呼び出しています

テスト = stringCounter()

インスタンス化しようとしているように見えますが、クラスではなく関数です。

于 2013-07-11T14:57:26.840 に答える
0

関数にパラメーターを渡していませんtest = stringCounter()

test が None であるため、この行は意味がありません (前の関数は何も返しません)。

test.stringCounter(1)
于 2013-07-11T14:57:39.043 に答える