Python para mais

Resumo : neste tutorial, você aprenderá sobre a for elseinstrução Python e como usá-la de forma eficaz.

Introdução à instrução Python for else

Em Python, a for instrução pode ter uma cláusula opcional else, com a qual você pode não estar familiarizado, especialmente se vier de outras linguagens como Java ou C#.

O seguinte mostra a sintaxe da forinstrução com a elsecláusula:

for item in iterables:
    # process item 
else:
    # statementLinguagem de código:  PHP  ( php )

Nesta sintaxe, a elsecláusula será executada somente se o loop funcionar normalmente . Em outras palavras, a elsecláusula não será executada se o loop encontrar uma breakinstrução.

Além disso, a elsecláusula também é executada quando o objeto iterável não possui nenhum item.

O fluxograma a seguir ilustra a instrução for…else:

A elsecláusula é bastante útil em alguns casos se você souber como aplicá-la de forma eficaz.

Exemplo de instrução Python para else

Suponha que você tenha uma lista de pessoas, onde cada pessoa é um dicionário que consiste namee ageassim:

people = [{'name': 'John', 'age': 25},
        {'name': 'Jane', 'age': 22},
        {'name': 'Peter', 'age': 30},
        {'name': 'Jenifer', 'age': 28}]Linguagem de código:  JavaScript  ( javascript )

E você deseja procurar uma pessoa pelo nome.

Se a lista contiver a pessoa, você deseja exibir as informações dessa pessoa. Caso contrário, você deseja mostrar uma mensagem informando que o nome não foi encontrado.

Para fazer isso, você pode criar um programa como este:

people = [{'name': 'John', 'age': 25},
        {'name': 'Jane', 'age': 22},
        {'name': 'Peter', 'age': 30},
        {'name': 'Jenifer', 'age': 28}]

name = input('Enter a name:')

found = False
for person in people:
    if person['name'] == name:
        found = True
        print(person)
        break

if not found:
    print(f'{name} not found!')
Linguagem de código:  PHP  ( php )

Como funciona:

  • Primeiro, solicite um nome usando a input()função.
  • Em seguida, defina um sinalizador ( found) como False. Se o nome de entrada corresponder a uma pessoa na lista, defina seu valor como True, mostre as informações da pessoa e saia do loop usando a breakinstrução.
  • Por fim, marque a foundbandeira e mostre uma mensagem.

O seguinte executa um programa com o nome Petere Maria:

1ª corrida:

Enter a name:Peter
{'name': 'Peter', 'age': 30}Linguagem de código:  Sessão Shell  ( shell )

2ª corrida:

Enter a name:Maria
Maria not found!Linguagem de código:  Sessão Shell  ( shell )

Funciona perfeitamente bem.

Porém, se você usar a for elseinstrução, o programa será muito mais curto.

O seguinte mostra a nova versão do programa que usa a for elseinstrução:

people = [{'name': 'John', 'age': 25},
        {'name': 'Jane', 'age': 22},
        {'name': 'Peter', 'age': 30},
        {'name': 'Jenifer', 'age': 28}]

name = input('Enter a name:')

for person in people:
    if person['name'] == name:
        print(person)
        break
else:
    print(f'{name} not found!')Linguagem de código:  PHP  ( php )

Ao usar a for elseinstrução, o programa não precisa usar uma instrução flage uma ifapós o loop.

Neste novo programa, se o nome de entrada corresponder a uma pessoa na lista, ele mostrará as informações da pessoa e sairá do loop usando a breakinstrução.

Quando o loop encontra a breakinstrução, a elsecláusula não será executada.

Resumo

  • Use for elsea instrução Python para executar um bloco de código se o loop não encontrar uma breakinstrução ou se o objeto iterável não tiver nenhum item.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *