0

我是python的新手。我需要打印从1到100的所有数字。当我运行这段代码时,我得到了这个错误

Traceback (most recent call last):
File "C:\Eclipse\workspace\firstpython\src\oopsegmant.py", line 14, in <module>
 p = Prime(1)
TypeError: object.__new__() takes no parameters

程序是这样的

class Prime():
    def _init_(self,i):
        self.i=i

def print_value(self):          
    while(True):
        yield(self.i)
        self.i+=self.i
p = Prime(1)
for numb in p.print_value():
    if(numb>100):
       break
    print(numb)
4

1 回答 1

1

_init_应该用双下划线拼写,__init__.

所有特殊方法名称都用双下划线括起来。

 

此外,该print_value方法应缩进class成为它的一部分。

于 2013-04-08T13:07:38.853 回答