15.12.2022 Views

Python Eficaz

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

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

seguir, um laço itera todos os possíveis divisores comuns e testa os números.

Depois que todas as possibilidades forem tentadas, o laço termina. O bloco else

roda quando os números são coprimos porque o laço não encontra um break.

a = 4

b = 9

for i in range(2, min(a, b) + 1):

print('Testing', i)

if a % i == 0 and b % i == 0:

print('Not coprime')

break

else:

print('Coprime')

>>>

Testing 2

Testing 3

Testing 4

Coprime

Na prática, ninguém escreve código assim. Em vez disso, costuma-se criar uma

função auxiliar para o cálculo, normalmente escrita em dois estilos bastante

comuns.

O primeiro estilo é a função retornar falso na primeira oportunidade em que a

condição de teste for satisfeita. Caso o laço termine sem que a condição seja

satisfeita, a função retorna um valor default, verdadeiro.

def coprime(a, b):

for i in range(2, min(a, b) + 1):

if a % i == 0 and b % i == 0:

return False

return True

A segunda maneira é ter uma variável de resultado que indique se a condição foi

encontrada no laço. O laço é interrompido com break no momento em que a

condição é satisfeita.

def coprime2(a, b):

www.full-ebook.com

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

Saved successfully!

Ooh no, something went wrong!