Lottozahlen abfragen

  • Kleine Fingerübung damit ich im Training bleibe.

  • Hallo,

    ok, dann ein wenig Manöverkritik:

    * du importierst jede Menge Module, die du nicht brauchst
    * Sternchen-Importe sind schlecht, explizite Importe sind deutlich besser, weil du dir - gerade im Falle vom Tk - nicht den Namesraum mit Dutzenden von Klassen, Funktionen und Konstanten zu müllst.
    * Du vermischt Verarbeitungslogik und Ausgabelogik, das macht das Programm unübersichtlich.
    * Die Funktion `zeige_lotto` kann zu viel. Eine Funktion -> eine Aufgabe. Du solltest das Abfragen der Lottozahlen und die Prüfung, ob die richtig getippt hast, in zwei getrennte Funktionen packen.
    * Die Zeilen

    Python
    from time import *
    ...
    spieltage=["Wednesday","Saturday"]
      lt=localtime()
      tag=(strftime("%A",lt))
      if tag in spieltage:

    kann man einfacher und übersichtlicher so schreiben:

    Python
    from datetime import date
    ...
    if date.today().weekday() in [2, 5]:
    ...


    * Startest du das wirklich via crontab? Dann machen die `print` Statements und auch die TK GUI wenig Sinn, weil das Skript ja nicht interaktiv im Vordergrund läuft.
    * Ganz übel ist, das und wie du `global` und den Aufruf `zeige_lotto()` verwendest - da sind leider große Mängel im Verständnis von Übergabewerte an und Rückgabewerte von Funktionen zu erkennen. Binde den Funktionsaufruf an zwei Variablen und lass' `zeige_lotto()` `treffer` und `ausgabe` zurück geben.

    Gruß, noisefloor

    Einmal editiert, zuletzt von noisefloor (25. Mai 2017 um 21:22)

  • die von nächster Woche würden mich interessieren!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • das Training hat noch Steigerungspotential

    Was machst du mit der Zusatzzahl?
    Was machst du, wenn du mehre Spiel-Tipps hast?

    Anbei mal aus meiner Lotto-Zahlen-Überprüfung die Logik:

  • So viele Nuancen, denn als Anfänger habe ich geschaut und es schien mir, dass alles in Ordnung ist. Was ist das Problem mit global?

  • Globaler Zustand erschwert das nachdenken über Code. Denn er verändert die Ausführung an beliebigen Stellen, und unter beliebigen Bedingungen. Dann verliert dabei schnell den Überblick, und der Code wird fehlerhaft. Außerdem koppelt er Code aneinander, das führt dann schnell zu einem Knäuel Spaghetti, das leider ungenießbar ist. Teile des Code dann woanders einzusetzen oder ihn auf mehr Fälle zu generalisieren ist dann teuer.

    Ich habe mal an einem Projekt gearbeitet, bei dem eine Kernfunktionalität aufgrund globalen Zustandes für eine Modernisierung der Anwendung dermaßen unnutzbar war, dass wir uns dazu entschließen mussten, die alte Anwendung in ein Programm ohne GUI umzuwandeln, das dann die Berechnung, vom neuen Programm aus angestoßen, erledigt hat. Im Grunde war das die Kapitulation. Nicht ganz umsonst ist der Auftraggeber kurz drauf pleite gegangen. Wenn das eigene Geschäft nicht verstanden wird, wird’s eng.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!