1
resposta

Indentação

Fiquei com uma dúvida. Se o While só vai executar o algorítimo que está dentro dele, ENQUANTO, o valor inserido for Diferente de 5. Como pode se eu digitar 5 o código executa o que está dentro do while.

from time import sleep

n1 = int(input('Informe o primeiro número: '))
n2 = int(input('informe o Segundo número:  '))

opcao = 0

while opcao != 5:
    print('''
    ESCOLHA A OPÇÃO DESEJADA:
    [1] - SOMAR
    [2] - MULTIPLICAR
    [3] - MAIOR
    [4] - NOVOS NÚMEROS
    [5] - SAIR DO PROGRAMA
    ''')
    print('Opção inválida, favor preencher uma opção válida:')
    opcao = int(input('Qual será sua Escolha? '))

    if opcao == 1:
        soma = n1 + n2
        print(soma)
    elif opcao == 2:
        multiplicar = n1*n2
        print(multiplicar)
    elif opcao == 3:
        maior = max(n1,n2)
        print(maior)
    elif opcao == 4:
        n1 = int(input('Informe o primeiro número: '))
        n2 = int(input('informe o Segundo número:  '))
    elif opcao == 5:
        print('SAINDO DO PROGRAMA....')
        sleep(2)
        print('FIM DO PROGRAMA! PODE FECHAR O TERMINAL! ')
    else:
        print('FIM DO PROGRAMA!')
1 resposta

Vamos pensar o seguinte....

1) O primeiro while executado é quando:

opcao = 0

2) Ao ser executado, o menu será imprimido e será necessário definir o novo valor de opcao, uma vez que, após o print que imprime o menu, há a seguinte linha:

opcao = int(input('Qual será sua Escolha? '))

Ou seja, nessa parte do código, será necessário definir um novo valor para a opcao (o loop não passa daqui, fica esperando você definir um novo valor para opcao), mas observe que ainda está sendo executado o loop anterior (para opcao = 0)

3) Ao definirmos, por exemplo, opcao = 5, será executado o comando:

elif opcao == 5:
        print('SAINDO DO PROGRAMA....')
        sleep(2)
        print('FIM DO PROGRAMA! PODE FECHAR O TERMINAL! ')

Pronto, agora encerrou o primeiro loop.

4) Agora ao executar o próximo loop, se faz a verificação da condição para a execução do loop, mas temos que:

opcao = 5

e a condição do loop é:

while opcao != 5:
   //Resto do código

Ou seja, o próximo loop não é executado. Entendeu?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software