Problem with following python code

Dan Hipschman dsh at linux.ucla.edu
Tue Jun 12 06:52:16 CEST 2007


On Tue, Jun 12, 2007 at 04:25:31AM -0000, why? wrote:
> I've been having problem with the following code. It's supposed to
> print the prime numbers  between 10 and 100. But i'm not getting any
> output, i.e. i guess the outer 'for' loop is being traversed only
> once. I would be greatful if you could help me out. Thanx!
> >>> f=1
> >>> for i in range(10,100):
> ...     for j in range(2,i):
> ...             if i%j==0:
> ...                     f=0
> ...                     break
> ...             else: continue
> ...     if f==1:
> ...             print i,
> ...

Move "f=1" inside the outer loop:

for i in range(10,100):
    f=1
    for j in range(2,i):
        if i%j==0:
            f=0
            break
        else: continue
    if f==1:
        print i,

It gets set to 0 in the first iteration and never has another chance to
be set to 1 after that.




More information about the Python-list mailing list