HighEnergy ... Projekt von Anfängern

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Servus,

ich wollte euch mal zeigen, was ich uns 2 Kumpels innerhalb von 3 Tagen beim Probestudium in münchen gemacht haben. Wir konnten davor nur bisschen Java (was man halt in der Schule lernt), insofern ist mir klar dass es für euch nicht gut ist. Wäre aber dennoch nett wenn ihrs euch anschaut, und vielleicht Verbesserungsvorschläge gebt =)

Hier der Code:
http://paste.pocoo.org/show/196070/

Danke fürs Sichten!

mfg
MC MO
Zuletzt geändert von MC_MO am Mittwoch 31. März 2010, 18:55, insgesamt 1-mal geändert.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

lagere das mal bitte nach paste.pocoo.org aus
[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]
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Hab ich gemacht, danke für den Link =)
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich sag mal der Codingstil ist unter aller Sau, aber das ergebnis schaut nett aus :D


Der Code ist überhauptnicht geordnet und alles findet auf Modulebenene statt. Viel Code wiederholt sich und dann sind da ganz viele unpythonische Sachen drin:

Code: Alles auswählen

#warum nicht gleich in einer zeile?
i=range(6)
for x in i: ...

#Was sollen die denn hier? In python muss man nichts deklarieren, beziehungsweise man kann es nicht
x=int
y=int
z=int

#was macht denn diese klasse?
class Kasse1(): ...


Das ganze for i in ... lässt sich vernünftiger lösen, da der Code nahezu identisch ist.


Habt ihr euch das Tutorial und PEP-8 einmal angeschaut?
[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]
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Also die vPython-Dokumentation haben wir uns immer wieder zur Hilfe angeschaut, is ja gut verständlich erklärt. Was PEP-8 is weiß ich aber nichtmal :oops:
Ich sag mal der Codingstil ist unter aller Sau
Das dachte ich mir fast ;)
Der Code ist überhauptnicht geordnet
Das ist unter anderem ein Problem der mangelnden Zeit, da das Probestudium jetzt aber vorbei ist möchte ich die Datei gerne "bereinigen", so dass ich sie guten Gewissens "ad acta" legen kann. Ich hasse es unordentliche Arbeit zu beenden...
Viel Code wiederholt sich
Das ganze for i in ... lässt sich vernünftiger lösen
Das hatte ich schon gehofft, denn im Moment ist die Bewegung halt wirklich absolut umständlich...länger wärs wohl kaum gegangen ;)

Code: Alles auswählen

#warum nicht gleich in einer zeile?
i=range(6)
for x in i: ...
Ich kapier net ganz was du damit meinst ;)

Code: Alles auswählen

#Was sollen die denn hier? In python muss man nichts deklarieren, beziehungsweise man kann es nicht
x=int
y=int
z=int
Berechtigte Frage, das hab ich nicht geschrieben sondern mein Partner. Habs jetzt aber entfernt und es geht nach wie vor, danke!

Code: Alles auswählen

#was macht denn diese klasse?
class Kasse1(): ...
Die ist da, damit man für die Kassen 1 und 2 nicht jedes Objekt einzeln erstellen muss. Ich glaub aber das ginge auch über nen frame, oder? Die ganze Kassengeschichte hat eben mein Partner gemacht, der hatte mit frames nix zu tun. Die hab nur ich "gelernt" als ich die Bewegung machte =)

Vielen Danke jedenfalls schonmal dass du dir die mühe gemacht hast und es gesichtet hast!!!

mfg
MC MO
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

MC_MO hat geschrieben:
jbs hat geschrieben:

Code: Alles auswählen

#warum nicht gleich in einer zeile?
i=range(6)
for x in i: ...
Ich kapier net ganz was du damit meinst ;)
der Code tut das gleiche wie dieser hier:

Code: Alles auswählen

for x in range(6): ...
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

PEP8 ist ein Styleguide (siehe Signatur).

Code: Alles auswählen

for x in range(6)
scheint mir etwas besser zu sein, als das in 2 Zeilen mit einer weiteren Variablen zu machen.

Ich finde den Namen der Klasse nichtssagend. Klasse sagt ja nicht was es macht.
[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]
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

jbs hat geschrieben:[...] aber das ergebnis schaut nett aus :D
Hmpf, ich würde es mir ja auch gerne mal ansehen, aber: https://bugs.launchpad.net/ubuntu/+sour ... bug/496795
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Gut dann hab ich das mit range jetzt verstanden, wusste ich nciht. Danke, werd ich ausbessern!

Das PEP8-Ding les ich mir mal durch, danke für den Hinweis darauf!

Der Name der Klasse ist nicht Klasse, sondern Kasse! Das Ding wo man Fahrscheine kauft :P
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

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

Aber warum eine 1? Wenn Namen durchnummeriert werden, machst du etwas falsch.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

@derdon: nicht unser tag heute :(
[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]
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Ja, das merk ich auch schon.
MC_MO
User
Beiträge: 25
Registriert: Sonntag 28. März 2010, 10:07

Wie schon gesagt das mit den Treppen, den Geländern und den Kassen hat mein Kumpel gemacht. Den Schriftzug der 3te im Bunde. Was die sich gedacht haben weiß ich net, aber ich werds natürlich ausbessern :)
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Wo wir gerade bei der Kasse sind. Hier mal ein kleiner Denkanstoß, wie du es etwas übersichtlicher machen kannst:

Code: Alles auswählen

import visual as vis

class Kasse(object):

    def __init__(self, x, y, z):
        '''Docstring: Ein Kasse...'''
        self.nordwand = vis.box(pos = (x, y+85, z),
                                length = 120,
                                width = 120,
                                height = 5,
                                material = materials.wood
                               )
        ...


if __name__ == '__main__':
    kassen = [Kasse(400, -1040, z) for z in [425, -425]]
Grüße
Gerrit
Zuletzt geändert von gkuhl am Mittwoch 31. März 2010, 22:46, insgesamt 1-mal geändert.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Also ich rücke immer so ein:

Code: Alles auswählen

import visual as vis

class Kasse(object):
    def __init__(self, x, y, z):
        '''Docstring: Ein Kasse...'''
        self.nordwand = vis.box(
            pos=(x, y+85, z),
            length=120,
            width=120,
            height=5,
            material=materials.wood
        )
        ...

if __name__ == '__main__':
    kassen = [Kasse(400, -1040, z) for z in [425, -425]]
Ich glaube das habe ich mir bei mitsuhiko abgeguckt. Die Leerzeichen um das Gleichheitszeichen habe ich entfernt, weil es sich hier um Keywords für eine Funktion handelt.
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.
Antworten