Seite 1 von 1

Re: Fenster schließt sich andauernd

Verfasst: Samstag 8. Juni 2019, 10:40
von Fire Spike
Einrückungen fehlen. Die sind das wichtigste im programm!

Re: Fenster schließt sich andauernd

Verfasst: Samstag 8. Juni 2019, 11:29
von __blackjack__
@LeagueBotter: Konsolenprogramme startet man in einer Konsole, also erst selber eine Konsole starten und da drin dann das Programm starten. Dann bleibt das Konsolenfenster auch offen wenn das Programm zuende ist. Und falls es Fehler/Ausnahmen gab, hat man auch die Chance die zu lesen.

Re: Fenster schließt sich andauernd

Verfasst: Samstag 8. Juni 2019, 11:46
von __blackjack__
Sonstige Anmerkungen zum Code: Auch unter Windows sollte man die She-Bang-Zeile schreiben, damit falls mehrere Python-Versionen installiert sind, die richtige ausgewählt wird.

Es werden Sachen importiert die nicht verwendet werden. Aus Numpy sogar alles mit Sternchen-Import.

Auf Modulebene sollte nur Code stehen der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.

Funktionen werden üblicherweise nach der Tätigkeit benannt die sie durchführen. `passwort` ist ein guter Name für ein Passwort, aber nicht für eine Funktion die ein Passwort eingibt. Die könnte man `log_in()` nennen. Abkürzungen sollte man vermeiden. Bei `start_league_of_legends()` fragt sich dann kein Leser warum das laute Lachen anfängt.

Die Anmeldefunktion ist nicht das was ein Programmierer machen würde. Man kopiert nicht zig mal die gleiche handvoll Zeilen und ändert da immer nur einen Wert. Das ist dumme stupide sich wiederholende Arbeit für die man einen Computer hat der einem genau so etwas abnimmt. Wenn man wiederholt das gleiche mit unterschiedlichen Werten machen will, dann packt man die Werte in eine Liste und schreibt eine Schleife über diese Werte. Und den Code der etwas mit jedem Wert macht, hat man dann genau *ein* mal im Quelltext stehen.

Ungetestet:

Code: Alles auswählen

#!/usr/bin/env python3
import sys
import time

import pyautogui


def start_league_of_legends():
    pyautogui.doubleClick(780, 30)
    time.sleep(10)


def log_in():
    keys = [
        '', '', '', '', '', '', '', '', '', '', '', '', '', 'Tab',
        '', '', '', '', '', '', '', '', 'Enter',
    ]
    for key in keys:
        pyautogui.keyDown(key)
        time.sleep(0.05)
        print(key)
        pyautogui.keyUp(key)


def main():
    print(sys.executable)
    start_league_of_legends()
    log_in()


if __name__ == '__main__':
    main()