Quadrivetores, parte 1: operações básicas
Este é o primeiro desafio da coleção "Quadrivetores". Os quadrivetores são vetores com quatro componentes usados para descrever a física relativística. Para obter mais detalhes, consulte esta entrada da wiki.
Neste desafio, crie uma classe FourVector com as seguintes propriedades:
- Se for chamada com uma lista de comprimento 4 como parâmetro, ela usa os elementos da lista como componentes da instância de FourVector (FV).
- Se for chamada sem um parâmetro, os componentes devem ser
[0.0, 0.0, 0.0, 0.0]. - Métodos getter e setter
GetComponentseSetComponents; consulte os casos de teste. - Métodos para somar e subtrair duas instâncias de FV.
- Permite comparar dois quadrivetores.
- Permite imprimir um FV no formato
(0.5, 1.0, -2.0, 10.0), com os componentes arredondados para três casas decimais.
Considere usar métodos mágicos como __add__, __eq__ e __str__ para resolver os três últimos itens.
Exemplos
v = FourVector([1, 2, 3, 4])
print(v) ➞ (1, 2, 3, 4)
v2 = FourVector([1, 0, 1, 0])
print(v + v2) ➞ (2, 2, 4, 4)Observações
Guarde sua classe FourVector para usá-la mais tarde; adicionaremos novos métodos nos próximos desafios desta série!