A minha solução utiliza o laço for. Segue abaixo o código:
def main() -> None:
"""
Função principal que itera sobre uma lista de clientes e exibe
cada nome no console.
O laço 'for' é usado para percorrer os elementos da lista `clientes`
de forma direta (iteração sobre o valor, e não sobre o índice).
"""
clientes = ["João", "Maria", "Carlos", "Ana", "Beatriz"]
for cliente in clientes:
print(f'{cliente}')
if __name__ == '__main__':
main()
Gosto de utilizar uma regra simples quando preciso utilizar laços de repetição "Eu sei quando o laço de repetição deve parar?", caso a resposta seja sim utilizo "for", caso contrário utilizo "while". Outra boa é "O objeto que eu preciso percorrer é iteravél?" se sim uso "for". Utilizando essas regras consigo escrever um código mais "pythonico" mais limpo, com mais segurança, menos erros e mais performático quando comparado com uma abordagem de acesso do elemento por index.