擅长:python、mysql、java
<p>有一些小问题:</p>
<pre><code>class Primenumber(object):
def __init__(self, end): # Init instead of __iter__ here
self._end = end
def checkprimenumber(self,n):
for i in range(2,n):
if n%i==0:
return False
return True
def __iter__(self):
yield 2
if self._end>2:
for n in range(2,self._end):
if self.checkprimenumber(n): # Need to call to self.
yield n
def main():
r=Primenumber(150)
for n in r:
print(n)
if __name__ == "__main__":
main()
</code></pre>
<p>除了这两个小问题,我没有发现进一步的错误。但通常错误消息会告诉您缺少什么,您应该能够自己修复它。:-)</p>