Seite 1 von 3
Verfasst: Mittwoch 31. März 2010, 22:55
von jbs
Apropos mitsuhiko, gerade sah ich, dass er angeblich
20 Jahre alt sei, was mich gerade verdammt verstört, da ich selbst im selben Alter bin
Oder stimmt die Angabe einfach nicht?
Es heißt übrigens ein
e Kasse

Verfasst: Mittwoch 31. März 2010, 23:02
von gkuhl
derdon hat geschrieben:Also ich rücke immer so ein.
Gefällt mir, werde ich wohl auch abkupfern

Verfasst: Donnerstag 1. April 2010, 00:54
von Leonidas
jbs hat geschrieben:Apropos mitsuhiko, gerade sah ich, dass er angeblich
20 Jahre alt sei, was mich gerade verdammt verstört, da ich selbst im selben Alter bin
Oder stimmt die Angabe einfach nicht?
Doch doch, die ist schon richtig so, vielleicht ist er inzwischen auch 21. Und bei ihm heißt es auch Kass
a
@OP: Probestudium in München? Welche Uni?
Verfasst: Donnerstag 1. April 2010, 01:52
von jbs
Das ist ja schon deprimierend. Und wenn man sieht wann er sich so angemeldet hat, merkt man, wie früh er angefangen hat.
Verfasst: Donnerstag 1. April 2010, 07:33
von /me
derdon hat geschrieben:Und ich hab auch jedes Mal Klasse statt Kasse gelesen
Aber warum eine 1? Wenn Namen durchnummeriert werden, machst du etwas falsch.
Ich habe "Kassel" und nicht "Kasse1" gelesen und habe mich gefragt was das soll. Wir haben jetzt zumindest einen schönen Exkurs über die sinnvolle Benamung von Bezeichnern.
Verfasst: Donnerstag 1. April 2010, 11:02
von MC_MO
Danke für die Einrückungstipps. Ich hab in der PEP8-Anleitung gelesen, dass man maximal 79 Zeichen pro Zeile schreiben soll, und dann Zeilenumbrüche mit \ . Soll man das wirklich einhalten? Dadurch wird der Code ja nur noch länger
Und wieso schreibst du vor deinen Kommentar "Docstring:" ? ^^
Verfasst: Donnerstag 1. April 2010, 11:25
von lunar
Man sollte sich definitiv an eine Obergrenze von 80 Zeilen halten, im PEP sind ja auch gute Gründe angegeben. Wenn diese Obergrenze ernsthaft ein Problem darstellt, ist das oft ein Zeichen dafür, dass Dein Quelltext überarbeitet werden sollte. Denn was man in 80 Zeichen nicht ausdrücken kann, ist meist auch so komplex, dass man es im Sinne der Lesbarkeit besser auf mehrere Anweisungen und damit Zeilen verteilt.
Auf den Backslash würde ich persönlich eher verzichten.
Verfasst: Donnerstag 1. April 2010, 11:27
von MC_MO
Stimmt, ich hab jetzt schon bei vielen Objekten die ganzen Attribute (pos, color, material etc) in jeweils eine Zeile gepackt, sieht echt übersichtlicher aus. Ich lad den Text wieder hoch wenn ich die PEP-Anweisungen umgesetzt hab
Soll ich auch Objekte auf Englisch bezeichnen? Und besser alles groß/alles klein/Große Anfangsbuchstaben etc... was findet ihr am besten?
Verfasst: Donnerstag 1. April 2010, 11:48
von Hyperion
MC_MO hat geschrieben:
Soll ich auch Objekte auf Englisch bezeichnen? Und besser alles groß/alles klein/Große Anfangsbuchstaben etc... was findet ihr am besten?
Man sollte nicht unbedingt mischen; also wenn Englisch, dann alles. Allerdings kommt es dabei ja schon auch auf den Adressaten an. Wenn das ganze nur ein interner Projekt sein soll, geht imho auch komplett deutsch.
Die Benennung ist doch durch PEP8 definiert!
Verfasst: Donnerstag 1. April 2010, 11:53
von MC_MO
PEP8 lässt dir 9 Bennenungsmöglichkeiten
Ein Mix aus Deutsch und Englisch lässt sich ja garnicht verhindern, da die Attribute ja "width", "height" und so sind. Mir fallen nur oft keine guten englischen Namen für die Objekte ein ^^
Verfasst: Donnerstag 1. April 2010, 11:55
von lunar
@Hyperion: Wenn man „nicht mischen“ sollte, bleibt einem gar nichts anderes, als nur Englisch zu verwenden. Die Standardbibliothek gibts nicht in Deutsch
Im Ernst: Ausschließlich Englisch zu verwenden, verträgt sich am besten mit der Lesbarkeit des Quelltexts.
Verfasst: Donnerstag 1. April 2010, 12:00
von Hyperion
lunar hat geschrieben:@Hyperion: Wenn man „nicht mischen“ sollte, bleibt einem gar nichts anderes, als nur Englisch zu verwenden. Die Standardbibliothek gibts nicht in Deutsch
Ich meinte auch eher die eigenen Objekte

Aber sonst hast Du da Recht.
Verfasst: Donnerstag 1. April 2010, 12:13
von MC_MO
So mein Code ist jetzt schon auf über 1000 Zeilen angestiegen, sieht aber schon viel ordentlicher aus. Wisst ihr eine Abhilfe für den Bewegungsablauf? Der is halt echt extrem lang und wiederholt sich bis auf ein paar Zeichen dauernd, kann man da nichts mahcen?
Verfasst: Donnerstag 1. April 2010, 12:16
von ms4py
MC_MO hat geschrieben:So mein Code ist jetzt schon auf über 1000 Zeilen angestiegen, sieht aber schon viel ordentlicher aus. Wisst ihr eine Abhilfe für den Bewegungsablauf? Der is halt echt extrem lang und wiederholt sich bis auf ein paar Zeichen dauernd, kann man da nichts mahcen?
Schleife oder Funktion fallen mir jetzt spontan bei dem Begriff "Wiederholung" auf

Verfasst: Donnerstag 1. April 2010, 12:19
von MC_MO
Naja Funktionen hab ich ja so weit wie möglich verwendet, das Problem ist halt dass sich die Geschwindigkeit des Rotors sehr oft ändert, um einen realistischen Bewegungsablauf zu zeigen...
Verfasst: Donnerstag 1. April 2010, 12:30
von Hyperion
MC_MO hat geschrieben:Naja Funktionen hab ich ja so weit wie möglich verwendet, das Problem ist halt dass sich die Geschwindigkeit des Rotors sehr oft ändert, um einen realistischen Bewegungsablauf zu zeigen...
Dann lagere doch die sich ändernden, aber zusammengehörigen Werte in einer Datenstruktur, die Du dann eben in einer Funktion verarbeitest.
Versuch zu analysieren, was die sich immer wiederholenden Schritte alle gemeinsam haben. Welche Art von Daten benötigen sie? Wie kann man diese gut aggregieren? Dazu kann man vermutlich Listen und Dictionaries nutzen, ggf. auch in Kombination.
Ich hab den Code von Dir grad nicht zur Hand, daher kein konreter Ansatz

Verfasst: Donnerstag 1. April 2010, 12:52
von MC_MO
Also eigentlich sieht die Bewegung so aus:
Code: Alles auswählen
for i in range (50):
rate(25)
hauptarm.rotate(angle=radians(-0.6),
axis=(-1,0,0),
origin=(0,2.5,0))
Fahrtbewegung()
Es verändert sich nur die Dauer "range" und die Drehgeschwindigkeit "angle=radians". Über die Veränderung dieser 2 Werte konnte ich eine relativ flüssige Bewegung im echten Fahrturnus machen (Mit Ausschwingen beim Start, bis zum Überschlag, nach ein paar Runden ein Stop ganz oben und dann noch drehen in die andere Richtung, dann wieder anhalten).
Die Methode "Fahrtbewegung" beinhaltet das Drehen der Spinne um die eigene Achse sowie das drehen der Sitze um deren Aufhängung.
mfg
MC MO
P.s:Wer sich darunter nichts vorstellen kann, hier nochmal der Link zu einem YouTube-Video des Fahrgeschäftes:
http://www.youtube.com/watch?v=XI6kVbBw38E
Verfasst: Donnerstag 1. April 2010, 13:02
von ms4py
MC_MO hat geschrieben:Es verändert sich nur die Dauer "range" und die Drehgeschwindigkeit "angle=radians".
Und was spricht gegen eine Funktion, die diese 2 Parameter entgegennimmt?!

Verfasst: Donnerstag 1. April 2010, 13:33
von MC_MO
Äääähm...
Danke für den Hinweis, das bau ich doch glatt gleich ein...LOL!
Verfasst: Donnerstag 1. April 2010, 16:25
von Hyperion
Und die Werte packst Du ann eben z.B. in ein Tupel von Tupeln:
Code: Alles auswählen
# inner tuple: (count, angle)
move_data = (
(50, -0.6),
(45, 0.3),
...
)
# irgend wann dann eben so was:
for move in move_data:
do_move(*move)