Operador AND E OR (Exercício 5 Python – solução)

Home Fóruns Fórum Lógica de Programação: O Guia Completo Operador AND E OR (Exercício 5 Python – solução)

Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #32248
    Helder Helder
    Participante

      Olá, professor!

      Estou com uma dúvida e já fiz algumas pesquisas e acabei me perdendo nessas pesquisas ficando ainda mais confuso, porém, percebi algo que ainda não estou conseguindo compreender.

      Quando uma condição é Verdadeira assim como a outra no operador AND o programa executa o passo seguinte.

      Quando uma condição é Falsa e a outra também quando se trata do operador OR o programa não executa o passo seguinte, fazendo com que o próximo passo ou linha de código seja a primeira linha, no caso o “print(‘Digite um valor.’)

      É natural que isso ocorra devido as condições no operador AND e no OR sejam falsas?

      Ou isso se deve a algum erro de atualização?

      Ex:

      print(‘Digite um valor: ‘)
      valor = int(input())

      if valor >= 1 and valor <= 9:
      print(‘Está na faixa permitida.’)
      elif valor < 1 or valor > 11:
      print(‘Está fora da faixa permitida.’)

       

      Nesse caso acima, fazendo a entrada de dados com um valor ’10’, por exemplo, o programa executa aquela linha de cima; (‘Digite um número:’)….ou seja, nenhuma das condições atendeu ao que fosse esperado pelo programa, fazendo com que a ação voltasse a ser executada novamente com uma entrada de um valor esperado.

      Não entendi essas condições (valor >= 1 and valor <= 9) e a outra (valor < 1 or valor > 11) …a menos que o intuito fosse mostrar esse meu questionamento porque minha curiosidade se deu após testar a primeira condição de acordo com que eu já imaginasse o próximo passo do programa e na segunda condição já entrei logo com o valor ’10’ para ver o que aconteceria.

      Se a primeira linha de código é uma entrada e depois vem as condições, faz sentido o programa pedir um novo valor fazendo com que eu pense que esse pedido seja uma “condição” sendo que não é porque se trata de uma entrada e com isso fazer com que eu entenda que “não funcionou” ou dizer algo do tipo; “programa encerrado, faça novamente dentro das condições pedidas…” ou é uma ‘pegadinha’ ou algo para atentar-se ao que vem a seguir em relação a esse, ao meu ver, ‘suposto problema’?

      Estou há umas 7, 8 horas refletindo sobre isso e verifiquei o caminho, verifiquei atualização de Plugins e não encontrei nada relacionado, apesar de aparecer a mensagem de que o processo foi finalizado com êxito e logo acima pedir para que eu digite um valor…estou com um nó em minha cabeça. Rs’

      Forte abraço!

       

      #32257
      Fábio Spak
      Participante

        Olá Helder, ao colocar o número 10 nenhuma mensagem foi impressa porque ele não atendeu nenhuma das condições. O código da aula foi feito dessa forma para parecer mais didático, mas uma forma de deixar ele mais completo seria adicionar a finalização da cláusula com um else, veja um exemplo:

        print(‘Digite um valor: ‘)
        valor = int(input())
        
        if valor >= 1 and valor <= 9:
            print(‘Está na faixa permitida.’)
        elif valor < 1 or valor > 11:
            print(‘Está fora da faixa permitida.’)
        else:
            print('Valor não encontrado')

        Caso queira compreender um pouco mais sobre essa parte de lógica, recomendo a leitura desse assunto: tabela verdade.

        Fabio

        #32261
        Helder Helder
        Participante

          Olá, Professor! Bom dia!

          Agora compreendi, imaginei que houvesse alguma lacuna, algo que pudesse ser diferente naquela situação, porém, vc mostrou que sim utilizando o else e eu não havia me atentado a essa ação por conta de ter ficado em dúvida pela não utilização do número 10, nesta aula, porque uma condição (n >1 and n <=9): e a outra condição (n < 1 or n > 11): e com isso fiquei imaginando: Por que não (n >= 9 ou n >= 10)?! 😅

          Mas agora tudo ficou esclarecido, muito obrigado pela atenção e forma simples de explicar, Professor.

          Em relação a esse artigo vou ler sim com toda certeza e mais uma vez obrigado pela dica valiosa🤝👍

          Um bom dia e bom trabalho, Professor!

          #44770
          Jones Granatyr
          Moderador

            Qualquer outra dúvida é só avisar! 🙂

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.