-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()当需要一个(即)时,您没有向此处传递任何参数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 且行中没有参数

测试 = 字符串计数器()

看起来您正在尝试实例化它,但它是一个函数,而不是一个类。

于 2013-07-11T14:57:26.840 回答
0

您没有将任何参数传递给函数test = stringCounter()

这行没有意义,因为 test 是 None (前面的函数什么都不返回)

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