python 2.6中的break语句

时间:2014-12-04 23:13:57

标签: python loops break

primes = set([1,2,3])

for r in range(1,20):

    if (r not in primes):
        for q in range(2,r):
            if r % q == 0:
                break
            primes.add(r)

print primes

set([1, 2, 3, 5, 7, 9, 11, 13, 15, 17, 19])

如何从素数列表中排除9和15?

1 个答案:

答案 0 :(得分:2)

使用for-else循环:

primes = set([1,2,3])

for r in range(1,20):

    if (r not in primes):
        for q in range(2,r):
            if r % q == 0:
                break
        else:
            #this will execute only if the for-loop completed without any breaks 
            primes.add(r)

print primes
#set([1, 2, 3, 5, 7, 11, 13, 17, 19])