21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Respostas dos exercícios III 341

from itertools import count

# Verifica se o número é primo

def is_prime(n):

if n < 2:

return False

for i in xrange(2, n):

if not n % i:

return False

else:

return True

# Generator Expression

primes = (i for i in count() if is_prime(i))

# Teste: 100 primeiros primos

for i in range(100):

print primes.next()

3. Implementar um gerador que produza tuplas com as cores do padrão RGB

(R, G e B variam de 0 a 255) usando xrange() e uma função que produza uma

lista com as tuplas RGB usando range(). Compare a performance.

Solução:

# -*- coding: latin1 -*-

def rgb_lst():

rgb = []

for r in range(256):

for g in range(256):

for b in range(256):

rgb.append((r, g, b))

return rgb

def rgb_gen():

for r in xrange(256):

for g in xrange(256):

for b in xrange(256):

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!