Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida com While

Bom dia, tarde ou noite.

Estou fazendo um programa em Python, e até então ele estáva rodando normalmente, tudo dando certo; Fui tentar sofisticar meu código e ele começou a dar um erro que eu não entendi o por que, segue:

Este é o Código antes do problema:

print("(1) Inglês - (2) Português BR - (3) Espanhol")
idioma = int(input("Please select your language: "))

while(idioma > 3 or idioma < 0):
    print("\n #####Error#####")
    print("Incorrect Command, Please Try Again", end = ("! \n"))
    print("\n(1) Inglês - (2) Português BR - (3) Espanhol")
    idioma = int(input("Please select your language: "))

while (idioma > 0 and idioma <= 3):
    if (idioma == 1):
        print("\nYour password is 10", end=(". \n"))
        int(input("User ID: "))
        senha = int(input("Password: "))
        break

    elif (idioma == 2):
        print("\nSua senha é 10", end=(". \n"))
        int(input("Mátricula: "))
        senha = int(input("Senha: "))
        break

    elif (idioma == 3):
        print("\nSu contraseña es 10", end=(". \n"))
        int(input("Identidad:  "))
        senha = int(input("Contraseña: "))
        break

Fui criar variáveis para por no While, apenas a titulo de sofisticar o código, exemplo:

erro = idioma > 3 or idioma < 0

porem quando eu coloco essa variável erro: while(erro), ele fica para sempre rodando o código do erro, mesmo quando o usuario digita, 1, 2 ou 3, que teoricamente sairia do laço e era a forma que estava funcionando antes.

1 resposta
solução!

Boa madrugada, Eduardo

Remova o segundo "while".

"while (idioma > 0 and idioma <= 3):". Se digita 1, 2 ou 3, vai ficar em loop infinito

Sugestão:


print("(1) Inglês - (2) Português BR - (3) Espanhol - (0) Exit")
idioma = int(input("Please select your language: "))

while(idioma > 3 or idioma < 0):
    print("\n #####Error#####")
    print("Incorrect Command, Please Try Again", end = ("! \n"))
    print("(1) Inglês - (2) Português BR - (3) Espanhol - (0) Exit")
    idioma = int(input("Please select your language: "))

if (idioma == 1):
    print("\nYour password is 10", end=(". \n"))
    int(input("User ID: "))
    senha = int(input("Password: "))
elif (idioma == 2):
    print("\nSua senha é 10", end=(". \n"))
    int(input("Mátricula: "))
    senha = int(input("Senha: "))
elif (idioma == 3):
    print("\nSu contraseña es 10", end=(". \n"))
    int(input("Identidad:  "))
    senha = int(input("Contraseña: "))
else:
    print("System Exit!")

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