Ir ao conteúdo

Posts recomendados

Postado

Olá gostaria de pedir ajuda para uma questão onde dois loops while estão sendo ignorados. Eu já verifiquei a condição, já modifiquei a variável e até mesmo comentei a parte de cima do código no entanto não está entrando no Loops. O problema está no Loop de horas e de dias, eu preciso que o usuário insira um valor float entre 0 a 24 em horas e um valor inteiro entre 1 a 31 em dias. No entanto como falei o loop é ignorado e passa reto para a exibição dos resultados. (Acredito que seja um erro bobo por isso quero uma visão de fora já que não consigo achar o problema)

while(sairDoPrograma!=6): sairDoPrograma = input("\nEscolha a ação a ser executada:\n1-Cadastrar Ar Condicionado\n2-Cadastrar Computador" "\n3-Cadastrar Geladeira\n4-Cadastrar Lâmpada\n5-Cadastrar Televisor\n6-Fechar Cadastros de eletrônicos\n") #Essa função identifica se o valor digitado para cadastrar é igual ao caractere respectivo do Ar condicionado, #se sim entra nas perguntas relacionadas ao aparelho e então é calculado os valores e é mostrado na tela os resultados #enquanto se mantém nessa função. if(sairDoPrograma == '1'): while(contadorDeArCondicionado != 1 and contadorDeArCondicionado != 2): contadorDeArCondicionado = input("\nDeseja cadastrar algum Ar-condicionado? Digite 1 para SIM e 2 para NÃO ") if(contadorDeArCondicionado == '1'): contadorTotalArCondicionado = contadorTotalArCondicionado + 1 #Contador de Ar condicionados cadastrados potenciaDoArCondicionado = 0 #while (potenciaDoArCondicionado <= 0): # Impossibilita da potência ser negativa ou 0 #potenciaDoArCondicionado = int(input("Qual a potência desse Ar-condicionado? ")) #potenciaDoArCondicionado = (potenciaDoArCondicionado/1000) #Fórmula que faz a conversão de Watts para Quilowatt #if(potenciaDoArCondicionado>0): #break horasDoArCondicionado = -1 # Essa variável guarda quantas horas se utiliza o Ar Condicionado while(horasDoArCondicionado<=0 and horasDoArCondicionado>24): horasDoArCondicionado = float(input("Quantas horas por dia se utiliza este Ar-condicionado desse setor? ")) diasDoArCondicionado = 99 # Essa variável guarda quantos dias no mês se utiliza o Ar Condicionado while(diasDoArCondicionado<1 and diasDoArCondicionado>31): diasDoArCondicionado = int(input("Quantas dias no mês se utiliza o Ar-condicionado desse setor? ")) variavel=0.51937000 print("\nIsso é a quantidade de ar condicionados nesse setor: ", contadorTotalArCondicionado) consumoDesseAr = ((horasDoArCondicionado * diasDoArCondicionado) * potenciaDoArCondicionado) valorDeCadaAparelhoDoSetor = consumoDesseAr * variavel #Fórmula que calcula o consumo de energia do aparelho e depois calcula o valor em R$ gasto pelo aparelho #consumoSetorAr = ((horasDoArCondicionado * diasDoArCondicionado) * potenciaDoArCondicionado) * contadorTotalArCondicionado #Fórmula que calcula o consumo de todos Ar condicionados do setor consumoAr = consumoDesseAr + consumoAr #Calcula o consumo do Setor relacionado a Ar Condicionados valorDoSetorAr = valorDeCadaAparelhoDoSetor + valorDoSetorAr #Calcula o valor que o setor gasta com Ar print("Esse é o consumo desse Ar Condicionado: {0:.2f}".format(consumoDesseAr)) print("O preço a se pagar pelo consumo desse Ar Condicionado é R$: {0:.2f}".format(valorDeCadaAparelhoDoSetor)) print("Esse é o consumo do setor de Ar Condicionados: {0:.2f}".format(consumoAr)) print("Esse é o valor a ser pago pelo consumo do setor de Ar Condicionados R$: {0:.2f}".format(valorDoSetorAr)) #Serve para identificar se o usuário digitou 2 que tem significado de não cadastrar o aparelho e voltar pro setor elif(contadorDeArCondicionado == '2'): break else: print("Não é um número válido!")

 

adicionado 6 minutos depois

Acredito que a visualização não ficou tão boa então vou repostar a parte do código problemática.

horasDoArCondicionado = 1  # Essa variável guarda quantas horas se utiliza o Ar Condicionado
diasDoArCondicionado = 0  # Essa variável guarda quantos dias no mês se utiliza o Ar Condicionado
         while(horasDoArCondicionado <= 0 and horasDoArCondicionado > 24):
         	horasDoArCondicionado = float(input("Quantas horas por dia se utiliza este Ar-condicionado desse setor?"))


         while(diasDoArCondicionado <= 1 and diasDoArCondicionado > 31):
                    diasDoArCondicionado = int(input("Quantas dias no mês se utiliza o Ar-condicionado desse setor? "))

 

Postado
52 minutos atrás, Alexandre Caribé disse:

while(horasDoArCondicionado <= 0 and horasDoArCondicionado > 24😞

Está estranho. Só entrará neste loop se as horas forem menor que zero (ou seja, valor negativo) e ao mesmo tempo maior que 24.

Ou seja, nunca irá entrar mesmo neste loop.

 

Acredito que teria que ser 

while(horasDoArCondicionado >= 0 and horasDoArCondicionado < 24):

 

Ou seja, se manteria no loop enquanto as horas estivessem entre 0 e 24.

 

Não conheço o phyton, porém, acredito que, para entrar no loop, você tambem teria que inicializar a variável horasdoarconcionado antes do while.

 

Aí faria sentido para mim. Não sei se é este o objetivo.

 

A mesma coisa para os dias; teria que  inicializar a variável antes do while e inverter os comparadores a, aí sim iria funcionar.

 

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!