![Notícias dos desenvolvedores: React 19, Nuxt 3.11, uma GUI Python, Tabnine LLMs](https://optimuscloud.com.br/wp-content/uploads/2024/04/1712784125_Noticias-dos-desenvolvedores-React-19-Nuxt-311-uma-GUI-Python-150x150.png)
Notícias dos desenvolvedores: React 19, Nuxt 3.11, uma GUI Python, Tabnine LLMs
10 de abril de 2024![Google Vaunts nova ferramenta Gemini Code Assist no Cloud Next 2024](https://optimuscloud.com.br/wp-content/uploads/2024/04/Google-Vaunts-nova-ferramenta-Gemini-Code-Assist-no-Cloud-Next-150x150.jpg)
Google Vaunts nova ferramenta Gemini Code Assist no Cloud Next 2024
10 de abril de 2024Embora os loops sejam um aspecto essencial da programação. O que um loop while faz é continuar executando uma instrução (ou conjunto de instruções) até que uma condição específica seja atendida. Um exemplo óbvio (que muitos entenderão) poderia ser algo assim:
Embora minha conta bancária tenha dinheiro, posso comprar coisas.
A declaração é Eu posso comprar coisas e a condição é Embora minha conta bancária tenha dinheiro. Depois de gastar todo o seu dinheiro, você não poderá mais comprar coisas (ou pagar contas).
Os loops while são uma ótima opção para quando você precisa executar uma instrução (ou várias instruções) repetidamente. A diferença entre para e enquanto loops é que o para loop simplesmente itera através de uma coleção (ou um objeto iterativo) e é finalizado, enquanto o loop enquanto o loop continua até que a condição específica seja atendida.
O para loop é mais fácil de usar, mas haverá casos em que um enquanto é necessário um laço. Por exemplo, você pode não saber quando o número de vezes que a afirmação deve ser repetida.
Vamos dar uma olhada em exemplos básicos de loops Python que fazem a mesma coisa. Primeiro, um loop for que imprimirá os números de um intervalo. Esse loop poderia ser assim:
for i in range(11): print (i)
Definimos o loop for para imprimir i para um intervalo de 11. A saída desse código seria semelhante a esta:
0
1
2
3
4
5
6
7
8
9
10
Lembre-se, na programação, a numeração começa em 0, então um intervalo de 11 iria de 0 a 10.
Agora, vamos fazer a mesma coisa com um enquanto laço. A primeira coisa que devemos fazer é definir eu com:
i = 1
A seguir, criamos o loop que afirma que enquanto i é menor que 11, imprimimos i em incrementos de 1. Esse loop se parece com:
while i < 11: print(i) i += 1
O código inteiro é:
i = 1 while i < 11: print(i) i += 1
Se executarmos o código acima, obteremos a mesma saída que obtivemos do para laço.
Mas e quanto a executar o enquanto loop quando a condição é desconhecida? Digamos, por exemplo, que você queira aceitar a entrada de nomes de um usuário e permitir que ele continue digitando nomes até terminar. Depois de digitar todos os nomes, eles podem digitar fim para sair do loop. Sair é a condição e aceitar nomes da entrada é a instrução.
A primeira coisa que fazemos é definir nomes como uma lista vazia como esta:
names = ()
A seguir, definiremos novo nome como qualquer coisa, menos desistir. Neste caso, vamos defini-lo como vazio assim:
new_name=" "
Agora podemos escrever nosso loop que aceitará a entrada do usuário como tal:
while new_name != 'end': new_name = input("Type the names to be added and end with 'end: ") names.append(new_name)
Estamos usando a função anexar para assumir os novos nomes digitados após o nome anterior.
Finalmente, imprimimos nomes com:
print(names)
O código inteiro se parece com:
names = () new_name="" while new_name != 'end': new_name = input("Type the names to be added and end with 'end': ") names.append(new_name) print(names)
Execute o código acima e ele instruirá o usuário a digitar nomes e encerrar a execução digitando fim. A saída pode ser algo assim:
(‘Aaron Kennedy’, ‘Camile St. Joan’, ‘Anton Frank’, ‘Jean Barber’, ‘Clara Beach’, ‘fim’)
O problema com o acima é que a saída inclui fim, o que não é um nome. Podemos consertar isso com um para loop que define novo nome como qualquer coisa, menos fim assim:
if new_name != 'end': names.append(new_name)
Agora, nosso código fica assim:
names = () new_name="" while new_name != 'end': new_name = input("Type the names to be added and end with 'end': ") if new_name != 'end': names.append(new_name) print(names)
Se digitarmos os mesmos nomes que fizemos acima e terminarmos digitando end (e pressionando enter), a saída será semelhante a:
(‘Aaron Kennedy’, ‘Camile St. Joan’, ‘Anton Frank’, ‘Jean Barber’, ‘Clara Beach’)
Fixo.
Aqui está outro exemplo que aceita entrada do usuário, mas oferece um menu para escolha. Ofereceremos diferentes tipos de comida. Primeiro, instruímos o usuário sobre o que fazer com a instrução:
print("nWelcome to the food ordering center. What would you like to eat today?")
A seguir, definimos escolha como uma variável vazia com:
choice=" "
Em seguida, vem nosso visual while que informará o usuário sobre as opções, aceitará a entrada, produzirá o texto com base em sua entrada e finalizará se o usuário digitar q. O ciclo fica assim:
enquanto escolha! = ‘q’:
print(“n(1) Digite 1 para pedir tailandês.”)
print(“(2) Digite 2 para pedir indiano.”)
print(“(3) Digite 3 para pedir comida mexicana.”)
print(“(4) Digite 4 para pedir chinês.”)
print(“(q) Digite q para sair.”)
escolha = input(“nQue tipo de comida você gostaria de pedir? “)
if choice == '1': print("nEnjoy your Thai food!n") elif choice == '2': print("nEnjoy your Indian food!!n") elif choice == '3': print("nEnjoy your Mexican food!n") elif choice == '3': print("nEnjoy your Chinese food!n") elif choice == 'q': print("nThanks for ordering. Have a great day.n") else: print("nI don't understand that choice, please try again.n")
Observe que a última instrução informa ao usuário que ele digitou algo além do escopo do aplicativo.
Por fim, imprimimos uma mensagem de despedida com:
print("Thank you and have a wonderful day.")
O código inteiro fica assim:
print("nWelcome to the food ordering center. What would you like to eat today?") choice="" while choice != 'q': # Give all the choices in a series of print statements. print("n(1) Enter 1 to order Thai.") print("(2) Enter 2 to order Indian.") print("(3) Enter 3 to order Mexican.") print("(4) Enter 4 to order Chinese.") print("(q) Enter q to quit.") choice = input("nWhat kind of food would you like to order? ") if choice == '1': print("nEnjoy your Thai food!n") elif choice == '2': print("nEnjoy your Indian food!!n") elif choice == '3': print("nEnjoy your Mexican food!n") elif choice == '3': print("nEnjoy your Chinese food!n") elif choice == 'q': print("nThanks for ordering. Have a great day.n") else: print("nI don't understand that choice, please try again.n") print("Thank you and have a wonderful day.")
Ao executar o aplicativo, ele imprimirá:
Bem-vindo ao centro de pedidos de comida. O que você gostaria de comer hoje?
(1) Digite 1 para pedir tailandês.
(2) Digite 2 para pedir indiano.
(3) Digite 3 para pedir comida mexicana.
(4) Digite 4 para pedir chinês.
(q) Digite q para sair.
Que tipo de comida você gostaria de pedir?
A próxima saída será baseada na entrada dos usuários. Por exemplo, se o usuário digitar 2a saída seria:
Aproveite sua comida indiana!!
O programa termina quando o usuário digita q.
E essa é a essência do Python enquanto rotações. Esses loops são um aspecto essencial da programação que você usará com frequência em seu código.
A postagem Como (e quando) usar um loop while do Python apareceu pela primeira vez em The New Stack.