HighEnergy ... Projekt von Anfängern

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

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 eine Kasse :)
Zuletzt geändert von jbs am Mittwoch 31. März 2010, 23:10, insgesamt 1-mal geändert.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

derdon hat geschrieben:Also ich rücke immer so ein.
Gefällt mir, werde ich wohl auch abkupfern :D
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 Kassa ;)

@OP: Probestudium in München? Welche Uni?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Das ist ja schon deprimierend. Und wenn man sieht wann er sich so angemeldet hat, merkt man, wie früh er angefangen hat.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

derdon hat geschrieben:Und ich hab auch jedes Mal Klasse statt Kasse gelesen :oops:

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.
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

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:" ? ^^
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.
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

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 :D

Soll ich auch Objekte auf Englisch bezeichnen? Und besser alles groß/alles klein/Große Anfangsbuchstaben etc... was findet ihr am besten?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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!
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

PEP8 lässt dir 9 Bennenungsmöglichkeiten :P

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 ^^
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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

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?
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

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 ;-)
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

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...
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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 :-)
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

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
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

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?! ;-)
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Äääähm...

Danke für den Hinweis, das bau ich doch glatt gleich ein...LOL!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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)
Antworten