나는 방금 에서 설명을 읽었습니다. 파이썬 약 __init__
클래스에 대해 생각하십시오. 그러나, 나는 내가 프로젝트 Euler.net 위해 만든 국무 발전기 기능을 시작하기 위해 노력하고 나는 오류 얻을 계속 : 나는 콘솔을 뽑아파이썬 2.7 객체 지향 __init__ 메소드
Traceback (most recent call last):
File "C:\Users\-------\Desktop\Primes.py", line 54, in <module>
Primes.__main__()
TypeError: unbound method __main__() must be called with Primes instance as first argument (got nothing instead)
을, 나는 마침내를 호출하여 작업을 얻었다 :
primes = Primes()
primes.primegenerator(some number)
그런 다음 올바르게 실행되었습니다. 이 동작을 __init__
메서드에서 작동하도록하려면 어떻게합니까?
class Primes():
def __init__(self, primes = []):
self.primes = primes
def primegenerator(self,limit):
'Generates primes to a given limit'
primes = [3]
i = 3 # i is the counter
while len(primes) < limit - 1:
for prime in primes:
if i % prime == 0:
i += 2
break
elif prime != primes[-1]:
continue
else:
primes.append(i)
i += 2
break
primes.insert(0,2)
return primes
def main(self):
limit = input('Enter a limit please: ')
primes = Primes.primegenerator(limit)
print '-------------------------' * 2
print The answer is: %d' %primes[-1]
print 'The sum of the primes is: %d' %sum(primes)
print print '-------------------------' * 2
이도 좋은 프로그램에 초기화 방법을 추가하는 것입니다
: 여기 전체 코드?
라고? (그냥'__int__'을 정의한 클래스입니까?) –
그리고 정확히 코드에 클래스가 있습니까? – Kos