Apologies for breaking threading, but the original post hasn't showed up on my ISP's news server.
Xavier Ho wrote: > I have a simple class that generates prime numbers, using memorisation > and iteration to generate the next prime number. [...] > The next() function generates the next prime, and appends it into > primes. This way, it keeps trying to append until the nth prime > requested exist, and returns it. > > My problem is that it's a "While True" loop, which I get a lot of >> "Don't do it!" There's nothing wrong with "while True" loops. They are useful in two situations: (1) Where you want to loop forever. (2) Where you want to loop until some complex event takes place, which can't easily be written using "while condition". Neither of these cases holds for your code, so although there's nothing wrong with "while True", in your case I'd avoid it. > In the light of making the code better, what could I do? (1) Explicitly loop the correct number of times. (2) Only catch IndexError. def nPrime(self, n): for i in xrange(len(self.primes), n+1): self.next() return self.primes[n] -- Steven -- http://mail.python.org/mailman/listinfo/python-list