1
resposta

[Sugestão] Exercício 4 sobre as coordenadas utilizando match.

x = float(input('Informe o valor de x: '))
y = float(input('Informe o valor de y: '))

match (x, y):
    case (x, y) if x > 0 and y >0:
        print('PRIMEIRO QUADRANTE')
    case (x, y) if x < 0 and y > 0:
        print('SEGUNDO QUADRANTE')
    case (x, y) if x <0 and y < 0:
        print('TERCEIRO QUADRANTE')
    case (x, y) if x > 0 and y <0:
        print('QUARTO QUADRANTE')
    case _:
        print('O PONTO ESTÁ LOCALIZADO NO EIXO DE ORIGEM')

 Ficou certinho assim ou tem como enxugar mais o código?
1 resposta

Olá, Viviane, como vai?

O código que você compartilhou está correto e cumpre bem o objetivo proposto. A lógica aplicada identifica corretamente todos os quadrantes e também o caso em que o ponto está sobre os eixos ou na origem. O uso do match com guardas funciona bem nesse contexto e demonstra que você já está explorando recursos mais modernos da linguagem.

Uma forma de enxugar levemente o código, mantendo a mesma ideia, seria usar padrões mais genéricos e deixar toda a lógica apenas nas condições. Por exemplo, usar case _ if x > 0 and y > 0 evita a repetição de (x, y) em todos os casos e deixa o foco somente nas regras dos quadrantes.

Obrigado por compartilhar sua solução e fique à vontade para continuar trazendo suas ideias e variações aqui no fórum, ele está sempre à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!