Ir ao conteúdo

Posts recomendados

Postado

 

Estou aprendendo Python e tenho o seguinte algoritmo abaixo e queria uma ajuda pra entender o porquê do segundo while não estar sendo interrompido quando o Input cod for igual a 0. Alguém poderia me dizer como arrumar sem mexer muito no código?

 

    x = 0
    acum = 0
    acum2 = 0
    soma = 0
    cod = 1

    while x <= 2:
      login = str(input("Digite o login: "))
      senha = int(input("Digite a senha: "))
      x = x + 1
      if login != 'ifpe' or senha != 12345:
        print("Login e/ou senha inválidos.")
      if x > 2:
        print("Tentativas excedidas!")
        break
      if login == 'ifpe' and senha == 12345:
         while cod != 0:
             print("|  Código |   Produto       | Preço (R$) |")
             print("|   100   | Cachorro-quente |    1,70    |")
             print("|   101   | Bauru simples   |    2,30    |")
             print("|   102   | Bauru com ovo   |    2,60    |")
             print("|   103   | Hambúrguer      |    2,40    |")
             print("|    0    |     Sair        |")
             print()
             cod = int(input("Digite o código do produto: "))
             qnt = int(input("Digite a quantidade: "))
             acum2 += 1
             if cod == 0:
                break
             if cod == 100:
                soma = soma + 1.70
                acum = acum + 1
             else:
                if cod == 101:
                    soma = soma + 2.30
                    acum = acum + 1
                else:
                    if cod == 102:
                        soma = soma + 2.60
                        acum = acum+1
                    else:
                        if cod == 103:
                            soma = 2.40
                            acum = acum + 1
        print("Total: ", soma * acum2)
  • Curtir 1
Postado

@Awayr O segundo while será interrompido quando chegar na condição que testa o código, mas antes disso tem o input da quantidade. Se quiser interromper imediatamente após a entrada do código coloque esse if na sequencia antes da quantidade.

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!