"jmDesktop" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> So what is n and x in the first iteration? Sorry. I'm trying. Remember how Python's range operator works. range(n, x) constructs a list that consists of all elements starting with n and up to, but /not including/, x. For example, range(3, 7) constructs the list [3, 4, 5, 6]. So what happens if you try to construct the list range(2, 2)? In this case, Python will construct an empty list -- this is its interpretation of "up to, but not including n" for an argument like range(n, n). This is precisely what is happening in the first iteration of the first enclosing for loop. Trace through the code; see that 2 is bound to n in the first iteration; see that the inner loop then tries to construct the list range(2, n), which is range(2, 2), which is an empty list. And a "for x in []" statement will not execute even once. As it happens, your loop is perfectly correct. You are testing for divisors for a number excluding 1 and the number itself. For the number 2, the number of possible divisors satisfying this condition is an empty set. So 2 is, quite correctly, adjudged to be prime. -- http://mail.python.org/mailman/listinfo/python-list