Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Avaliação e sugestão

Gostaria de uma avaliação do meu código e possíveis melhorias ou sugestões

Obs: fiz com 'IF" e "MATCH" para praticar, podendo isolar cada um.


def inicio():
    print('\nSeja bem vindo!\n')


def inserir_cordenadas_com_if():
    cordenada_x = float(input('''Insira um valor para x
'''))
    cordenada_y = float(input('Insira um valor para y\n'))

    #print(type(cordenada_x))

    if cordenada_x > 0 and cordenada_y > 0:
        print('1º Quadrante')
    elif cordenada_x < 0 and cordenada_y > 0:
        print('2º Quadrante')
    elif cordenada_x < 0 and cordenada_y < 0:
        print('3º Quadrante')
    elif cordenada_x > 0 and cordenada_y < 0:
        print('4º Quadrante')
    else:
        print('O ponto encontra-se no eixo de origem')


def inserir_cordenadas_com_match():
    cordenada_x = float(input('''Insira um valor para x
'''))
    cordenada_y = float(input('Insira um valor para y\n'))
    match cordenada_x and cordenada_y:
        case _ if cordenada_x > 0 and cordenada_y > 0:
            print('1º Quadrante')
        case _ if  cordenada_x < 0 and cordenada_y > 0:
            print('2º Quadrante')
        case _ if cordenada_x < 0 and cordenada_y < 0:
            print('3º Quadrante')
        case _ if cordenada_x > 0 and cordenada_y < 0:
            print('4º Quadrante')
        case _:
            print('O ponto encontra-se no eixo de origem')

def main():
    inicio()
    #inserir_cordenadas_com_if()
    inserir_cordenadas_com_match()
   
if __name__ == '__main__':
    main()
3 respostas
solução!

Olá, Luiz! tudo bem?

Sua solução está bem estruturada e funcionando corretamente tanto com a abordagem usando if quanto com a abordagem usando match.

A sugestão de melhoria que eu faria seria para incluir tratamento de erros. Ao solicitar as coordenadas, se o usuário inserir um valor que não seja um número, seu programa vai lançar uma exceção. Seria útil adicionar tratamento de erro para lidar com esse tipo de situação e fornecer uma mensagem de erro amigável para o usuário.

Exemplo:


def inicio():
    print('\nSeja bem vindo!\n')


def inserir_cordenadas_com_if():
  try:
      cordenada_x = float(input('''Insira um valor para x
  '''))
      cordenada_y = float(input('Insira um valor para y\n'))

      #print(type(cordenada_x))

      if cordenada_x > 0 and cordenada_y > 0:
          print('1º Quadrante')
      elif cordenada_x < 0 and cordenada_y > 0:
          print('2º Quadrante')
      elif cordenada_x < 0 and cordenada_y < 0:
          print('3º Quadrante')
      elif cordenada_x > 0 and cordenada_y < 0:
          print('4º Quadrante')
      else:
          print('O ponto encontra-se no eixo de origem')
  except ValueError:
    print("Por favor, insira valores numéricos para as coordenadas.")



def inserir_cordenadas_com_match():
  try:
      cordenada_x = float(input('''Insira um valor para x
  '''))
      cordenada_y = float(input('Insira um valor para y\n'))
      match cordenada_x and cordenada_y:
          case _ if cordenada_x > 0 and cordenada_y > 0:
              print('1º Quadrante')
          case _ if  cordenada_x < 0 and cordenada_y > 0:
              print('2º Quadrante')
          case _ if cordenada_x < 0 and cordenada_y < 0:
              print('3º Quadrante')
          case _ if cordenada_x > 0 and cordenada_y < 0:
              print('4º Quadrante')
          case _:
              print('O ponto encontra-se no eixo de origem')
  except ValueError:
    print("Por favor, insira valores numéricos para as coordenadas.")


def main():
    inicio()
    #inserir_cordenadas_com_if()
    inserir_cordenadas_com_match()
   
if __name__ == '__main__':
    main()

Se esta resposta te ajudou, favor marcar como solucionado ✓

Muito obrigado Thatiana!

Realmente... eu acabei fazendo isso que vi nas aulas posteriores. Muito obrigado!

Ah, que ótimo!

Não esquece de marcar este tópico como solucionado para não impactar na visibilidade dos demais tópicos dos colegas que permanecem com dúvidas e o atendimento desses, ok? :)

Boa semana e bons estudos!