Fenster schließt sich andauernd

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Fire Spike
User
Beiträge: 329
Registriert: Montag 13. Mai 2019, 16:05
Wohnort: Erde

Einrückungen fehlen. Die sind das wichtigste im programm!
Benutzeravatar
__blackjack__
User
Beiträge: 14044
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Benutzeravatar
__blackjack__
User
Beiträge: 14044
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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()
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Antworten