Satisfação aspira! Bem vindo ao Marrs Guia TECH.
Nesse post você vai ver a instrução break. Como o nome sugere, serve para ‘brecar’ alguma coisa e você pode inserir essa instrução em qualquer lugar do seu programa, porém convém usar esse recurso dentro de um loop para evitar que fique em loop indefinido e o processo só termine quando uma condição específica atender.
Só para comentar, falei que é uma ‘instrução’ que é diferente de ‘função’, onde a função pressupõe a execução de instruções por passagem de parâmetro ou não, a instrução por si é uma execução interna da linguagem.
Bem, vamos para um exemplo de demonstração que você poderá aplicar ao exemplo do post sobre o laço de repetição while ou fazer seus pŕoprios experimentos dentro de laços com for e condições.
- Não copie e cole, escreva o código
- Não se limite ao exemplo, experimente
- Tente entender o que está acontecendo
"""OK vamos fazer um jogo de par ou ímpar contra o CPU,
Nesse programa o jogo deve interromper assim se você perder do CPU
"""
import random #vamos importar o módulo random para que o CPU possa escolher um número aleatório
playerNum=0 #variável para carregar o número que vai jogar
playerOpt='' #variável para carregar Par ou Impar.
contadorVit=0 #para contar suas vitórias
while True:
cpu = random.randint(0,10) #Ok, o CPU pode escolher um número de 0 a 10 (10 dedos certo?)
playerNum = int(input("Escolha um número:"))
playerOpt = str(input("Digite par ou ímpar: "))
while(playerOpt != "par" and playerOpt != impar): #Aqui é um loop infinito para forçar o jogador a escolher usando 'and' para garantir só 2 opções
playerOpt = str(input("\nSó vale 'par' ou 'impar': "))
if(playerOpt=='par')and(cpu+playerNum)%2==0: #instrução condicional com 2 validações verdadeiras. Operador % retorna o resto da divisão
contadorVit+=1
print("Você ganhou: CPU colocou:", cpu, ' e você:', playerNum, "Você escolheu:", playerOpt)
print("@><@"*15)
elif(playerOpt=='impar')and(cpu+playerNum)%2!=0:
contadorVit+=1
print("Você ganhou: CPU colocou:", cpu, ' e você:', playerNum, "Você escolheu:", playerOpt)
print("@><@"*15)
else: #Ok, se o humano não ganha, o programa tem que terminar, você pode até usar outro jeito, mas olha como é mais fácil
break # se não houver condições verdadeiras... PARE O LOOP!
print("<>"*30)
print("Você perdeu: CPU colocou:", cpu, ' e você:', playerNum, "Você escolheu:", playerOpt)
print("Você ganhou", contadorVit, "vezes.")
print("<>"*30)
Fique atento, se você inserir a instrução break fora de um loop o programa como um todo será finalizado.
Para ilustrar uma situação, vamos dizer que você está em uma versão alpha de algum programa e tem áreas que não podem ser acessadas. Como tem usuário maluco por aí, para não causar um erro de sistema você insere um break para interromper o programa inteiro e ele terá que reiniciar.
Tente usar o break no programa do tutorial while e se tiver dificuldade ou dúvidas deixe nos comentários.
Até a próxima