0
respostas

Compreenção de laços

import os
import time

clientes = ["João", "Maria", "Carlos", "Ana", "Beatriz"]

def clear():
    os.system("cls" if os.name == "nt" else "clear")

def sair():
    clear()
    print("Encerrando o programa...")
    time.sleep(3)


def listar():
    clear()
    for cliente in clientes:
        print(cliente)
    input("Persione ENTER para continuar...")

def menu():
    while True:
        clear()
        print("---Comandos---")
        print("|Listar      ""|")
        print("|Sair        ""|")
        print("--------------")

        op = input("Digite um comando: ").lower()

        match op:
            case "listar":
                listar()
            case "sair":
                sair()
                clear()
                break

menu()

Mas, depois de uma pesquisa rápida, encontrei 2 motivos:

1.Evita o risco de loop infinito;
2. O código parece ficar mais otimizado e legível.

Exemplo do código usando while:

def listar():
    indice = 0
    while indice < len(clientes):
        print(clientes[indice])
        indice += 1  # Se esquecer isso, o programa trava!