xoros
July 1st, 2010, 04:07 AM
Going through the python tutorial (section 4.4. break and continue Statements, and else Clauses on Loops) in this example:
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... # loop fell through without finding a factor
... print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
>>> for n in range(2, 10):
... for x in range(2, n):
... print "x is",x
... print "n is",n
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... print n, 'is a prime number'
...
x is 2
n is 3
3 is a prime number
x is 2
n is 4
4 equals 2 * 2
x is 2
n is 5
5 is a prime number
x is 3
n is 5
5 is a prime number
x is 4
n is 5
5 is a prime number
x is 2
n is 6
6 equals 2 * 3
x is 2
n is 7
7 is a prime number
x is 3
n is 7
7 is a prime number
x is 4
n is 7
7 is a prime number
x is 5
n is 7
7 is a prime number
x is 6
n is 7
7 is a prime number
x is 2
n is 8
8 equals 2 * 4
x is 2
n is 9
9 is a prime number
x is 3
n is 9
9 equals 3 * 3
>>>
How come in that last example (I'm trying to see what is happening with x and n) It gives those results?
9 is a prime number ?
It doesn't make sense... is the print statement initializing the variables incorrectly or something?
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... # loop fell through without finding a factor
... print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
>>> for n in range(2, 10):
... for x in range(2, n):
... print "x is",x
... print "n is",n
... if n % x == 0:
... print n, 'equals', x, '*', n/x
... break
... else:
... print n, 'is a prime number'
...
x is 2
n is 3
3 is a prime number
x is 2
n is 4
4 equals 2 * 2
x is 2
n is 5
5 is a prime number
x is 3
n is 5
5 is a prime number
x is 4
n is 5
5 is a prime number
x is 2
n is 6
6 equals 2 * 3
x is 2
n is 7
7 is a prime number
x is 3
n is 7
7 is a prime number
x is 4
n is 7
7 is a prime number
x is 5
n is 7
7 is a prime number
x is 6
n is 7
7 is a prime number
x is 2
n is 8
8 equals 2 * 4
x is 2
n is 9
9 is a prime number
x is 3
n is 9
9 equals 3 * 3
>>>
How come in that last example (I'm trying to see what is happening with x and n) It gives those results?
9 is a prime number ?
It doesn't make sense... is the print statement initializing the variables incorrectly or something?