Seite 1 von 1

Array + Tastaturansteuerung

Verfasst: Sonntag 18. April 2021, 10:31
von Xalooz
Hallo,

ich möchte folgendes programmieren:

Ich habe ein Array:

Code: Alles auswählen

prozent = numpy.array([100, 90, 50, 10])
Jetzt gebe ich einen Anfangswert vor z.B.

Code: Alles auswählen

angangswert = 100
Dieser Wert wäre bei prozent[0]. Wie kann man die Position suchen? Also auf welcher Position im Array befindet sich der Wert 100

Jetzt nun zum Ablauf:

Wir befinden uns jetzt bei prozent[0]. Wenn ich jetzt die Pfeiltasten nach unten auf der Tastatur betätige, dann gelangen wir zum nächsten Wert im Array (Also Wert 90). Das ganze geht dann bis zum Wert 10. Wenn ich aber die Pfeiltaste nach oben betätige soll der Wert entsprechend um eine Array Position nach oben wechseln. Jemand eine Ahnung wie ich das programmieren soll?

Hab keyboard importiert

Code: Alles auswählen

import keyboard

if keyboard.read_key() == ?:
Aber keine Ahnung wie ich das ? durch dien Pfeiltaste ersetzen kann. Notfalls würde ich es über irgendwelche anderen Tasten auf der Tastatur nehmen.

Danke im voraus!

Re: Array + Tastaturansteuerung

Verfasst: Sonntag 18. April 2021, 11:12
von Sirius3
Wie hast Du denn die Pfeiltaste nach unten programmiert?
Du willst also irgendeine Art Userinterface. Was soll das alles können? Was soll dann mit den Prozentwerten passieren?

Re: Array + Tastaturansteuerung

Verfasst: Sonntag 18. April 2021, 12:04
von __blackjack__
Muss das ein Array sein? Den Index des ersten Vorkommens eines Wertes kann man bei Listen deutlich einfacher ermitteln.

Re: Array + Tastaturansteuerung

Verfasst: Sonntag 18. April 2021, 12:14
von Xalooz
Die Pfeiltasten sind noch nicht programmiert. Um das Ganze zu vereinfachen, nehmen wir einfach

Code: Alles auswählen

keyboard.read_key() == "u"              #nach unten

 keyboard.read_key() == "o"             #nach oben

Code: Alles auswählen

import keyboard

anfangswert= 100      #wert gebe ich hier einfach per Hand ein

prozent = [100, 90, 50, 10]

index_aktuell = prozent.index(anfangswert)

if keyboard.read_key() == "u":
     wert = prozent[index_aktuell +1]
     
     print(wert)
Jetzt würde ich 90 als Ergebnis erhalten. Das ist richtig, aber jetzt spricht das System ab. Ich muss wieder auf run gehen.
Ich möchte nach jeder "u" Eingabe das der Wert im Array eins weiter geht bis 10 erreicht ist.
Nach jeder "o" Eingabe soll mein Wert im Array entsprechend eins erhöht werden
Den Anfangswert gebe ich einfach per Hand ein, kann also auch 50 sein

Re: Array + Tastaturansteuerung

Verfasst: Sonntag 18. April 2021, 12:25
von Sirius3
Willst Du wirklich global die Tastatur lesen?
Was Du suchst, nennt sich Schleife:

Code: Alles auswählen

import keyboard

def main():
    while True:
        key = keyboard.read_key()
        if key == keyboard.KEY_DOWN:
            print("Pfeil nach unten")
        elif key == keyboard.KEY_UP:
            print("Pfeil nach oben")

if __name__ == "__main__":
    main()
Wie Du jetzt Deine Prozente da einbauen kannst, kannst Du selbst probieren.

Re: Array + Tastaturansteuerung

Verfasst: Sonntag 18. April 2021, 12:50
von Xalooz
Wie ist das denn zu verstehen?

Wenn ich auf die Taste nach unten drücke, gehe ich in die if Bedinung rein? Da passiert irgendwie nix

Re: Array + Tastaturansteuerung

Verfasst: Sonntag 18. April 2021, 12:54
von Sirius3
Erster Schritt wäre, mal auszugeben, was in `key` steht und dann das für die if-Bedingung zu nehmen.

Code: Alles auswählen

import keyboard

def main():
    while True:
        key = keyboard.read_key()
        print(key)

if __name__ == "__main__":
    main()