Dúvida questão 59 – Criando menu de opções

Home Fóruns Python Dúvida questão 59 – Criando menu de opções

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #66072

      Olá! gostaria de saber o porque do meu código não executa essa parte:

      
          elif n1 > opcao > n5:
              print("Opção inválida. Tente novamente")
              repete() 
      

      No caso só executa direito se eu colocar um else em vez de elif, abaixo está meu código completo

      
      def repete():
          print("=-==-=-==-=-==-=-==-=-==-=-==-=")
          sleep(1)
          print(f"    [ {n1} ] somar")
          print(f"    [ {n2} ] multiplicar")
          print(f"    [ {n3} ] maior")
          print(f"    [ {n4} ] novos números")
          print(f"    [ {n5} ] sair do programa")
      
      from time import sleep
      
      num1 = int(input("Primeiro valor: "))
      num2 = int(input("Segundo valor: "))
      
      n1 = 1
      n2 = 2
      n3 = 3
      n4 = 4
      n5 = 5
      
      print(f"    [ {n1} ] somar")
      print(f"    [ {n2} ] multiplicar")
      print(f"    [ {n3} ] maior")
      print(f"    [ {n4} ] novos números")
      print(f"    [ {n5} ] sair do programa")
      
      while True:
          opcao = int(input("Qual é a sua opção? "))
          if opcao == n1:
              soma = num1 + num2
              print(f"A soma entre {num1} + {num2} é {soma}")
              repete()
          elif opcao == n2:
              produto = num1 * num2
              print(f"O resultado de {num1} x {num2} é {produto}")
              repete()
          elif opcao == n3:
              if num1 > num2:
                  print(f"Entre {num1} e {num2} o maior valor é {num1}")
              elif num2 > num1:
                  print(f"Entre {num1} e {num2} o maior valor é {num2}")
              repete()
          elif opcao == n4:
              print("Informe os números novamente:")
              num1 = int(input("Primeiro valor: "))
              num2 = int(input("Segundo valor: "))
              repete()
          elif opcao == n5:
              print("Finalizando...")
              print("=-==-=-==-=-==-=-==-=-==-=-==-=")
              sleep(1)
              print("Fim do programa. Volte sempre")
              break
          elif n1 > opcao > n5:
              print("Opção inválida. Tente novamente")
              repete()
      
    • #66074

      O código perdeu toda a identação, como mandar por aqui pra ficar com a identação certa ?

    • #66078
      IcaroFilho
      Moderador

      copia e cola todo o código do Pycharm pra ca.
      Aqui mantem a seleção e no menu, aperte CODE, ele vai abrr e fechar a formatação de uma vez só

    • #66187
      Tutora Mayla
      Mestre

      Luiz, o problema está na ultima condição, não é possível fazer elif n1 > opcao > n5: o correto aqui seria elif n1 > opcao or opcao > n5:.

      Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.

Visualizando 3 respostas da discussão
  • Você deve fazer login para responder a este tópico.