[Tutor] scope problem?

David Broadwell dbroadwell@mindspring.com
Tue May 13 20:03:01 2003


Peter Jakubowicz wrote:
> But haven't I defined it in line 2?
Yes inside sieve. But outside sieve prime is undefined unless you assign it
or return it.

THIS:
prime = []
def sieve(n):
     prime = [2]
     for i in range(2, n + 1):
         for j in range(2, n + 1):
             if i % j == 0:
                 pass
             else:
                 prime.append(i)
print prime

OR THIS:
def sieve(n):
     prime = [2]
     for i in range(2, n + 1):
         for j in range(2, n + 1):
             if i % j == 0:
                 pass
             else:
                 prime.append(i)
	return prime

prime = sieve(15)
print prime