• 27.08.2025, 01:38
  • Register
  • Login
  • You are not logged in.

 

Dear visitor, welcome to Aqua Computer Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

pharao

Moderator

python Problem

Saturday, October 23rd 2004, 8:21pm

Ich muß in python eine Klasse schreiben, die Punke und Vektoren verwaltet.
Wenn ich zwei Vektoren addiere, soll es möglich sein, diese Berechnung in der Form:

print (p1 + p2)
oder
p3 = p1 + p2

aufzurufen.
das ginge ja noch, wenn die Vektoren / Punkte mit nur 3 Werten gespeichert würden. sie werden aber homogen dargestellt, also noch ein vierter Wert, der z.B. bei der Addition gesondert berücksichtigt werden muß.
Ausserdem soll auch eine Berechnung mit den Operatoren "*" und "%" möglich sein, die das Skalarprodukt, das Produkt mit einem Skalar und das Vektorprodukt berechnen.

wie mache ich das? brauche ich dafür bestimmte Methoden in meiner Klasse?

Hilfe, Yogi! ;)
Gute work-live-balance ist, wenn man von seinem Privatleben erschöpfter ist als von der Arbeit.

major23hh

God

Re: python Problem

Saturday, October 23rd 2004, 9:31pm

yogi ist erst morgen abend wieder da :(

xx_ElBarto

God

Re: python Problem

Saturday, October 23rd 2004, 10:06pm

ich verstehe noch netma die aufgabe was überhaupt gemacht werden soll ;D ;D

pharao

Moderator

Re: python Problem

Sunday, October 24th 2004, 2:00am

ich habs selber rausgefunden...
man kann mit
"def __add__(self, other):"
den plus-operator überschreiben.
"-" mit "__sub__(self, other)", "*" mit "__mul__..." und "%" mit "__mod__..."
morgen geht's weiter...

das lustige ist: wenn man sich überlegt, wie man das in einer Programmiersprache am einfachsten lösen könnte, ist es in python genau so gelöst wie man sich das vorstellt. aber einfach mal auszuprobieren, auf die Idee kommt man nicht... nein, man quält sich durch die API, man nervt Kommilitonen...

egal, es geht jetzt.
Gute work-live-balance ist, wenn man von seinem Privatleben erschöpfter ist als von der Arbeit.

Y0Gi

God

Re: python Problem

Monday, October 25th 2004, 2:24am

jop, operatoren überschreiben (wie z.b. in C++) ist eine sehr gute idee. alternativ sind auch entsprechende ("statische", aber sowas gibts in python nicht) methoden .add(), .sub() etc. denkbar, die ein tupel entgegennehmen und alle werte darin entsprechen zusammenrechnen. wäre aber wohl mehr code in der späteren anwendung.