Programmieren?

2 Antworten

Wie du es machst, geht prinzipiell, ist aber langwierig und fehleranfällig.

Du kannst das relativ einfach durch eingebaute Befehle von Python umsetzen und das ganze if-Konstrukt ersparen:

  • "ord" wandelt einen Character in den internen Zahlenwert um, der vom Rechner verwendet wird (siehe ASCII-Tabelle).
  • "bin" wandelt einen Integer in den Binärcode um
>>> bin(ord("a"))
'0b1100001'
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)
VTCHOY 
Fragesteller
 01.01.2024, 22:46

Ich habe es gemacht hat geklappt, aber ich hatte meine Frage nicht genau ausgedrückt. Ich würde es gerne bei schreiben auch verwenden, also wenn ich einem Freund schreibe das kein Buchstabe und auch keine Zahl da steht sondern nur Binär. Also ein Programm das auf einen Input meiner Tastatur achtet. Zum Beispiel: Ich geh in die Windows suche und drücke "a" aber es soll der binär code da stehen. Ist das machbar? Ich weiß ich verlange viel, aber könntest du das für mich machen und mir erklären? Wäre total super nett von dir.

0

Es ist unklar, was die Frage sein soll, aber der Code geht auch einfacher. Jeder Buchstabe kann eine Zahl sein. Als Beispiel die ASCII Tabelle. Diese kannst du dann Mathematisch in Binär umrechnen und mit nur einen kleinen "Algorithmus" schaffst du damit mehr, als mit tausenden if abfragen. Wandelst du A in eine dezimal Zahl (was jede Sprache normalerweise kann, da hinter jedem Zeichen (einfach ausgedrückt) eine Zahl steckt) erhälst du 65. Das Ergebnis dann in die passende mathematische Formel und schon hast du das Ergebnis

VTCHOY 
Fragesteller
 01.01.2024, 06:21

Ich habe absolut keine Ahnung was die Abkürzungen bedeuten, da ich keinerlei Erfahrung habe. Der Grund Stein war das was ich von Chatgbt erhalten habe und in die länge gezogen. Wäre für mich zum verstehen viel hilfreicher wenn du zeigst wie es den aussehen soll. Dennoch danke für deine Antwort. LG

0
FaTech  01.01.2024, 07:11
@VTCHOY

Auch hier kann ChatGPT dir helfen.

ChatGPT sagt dazu Folgendes:

import keyboard

def on_key_press_improved(event):
    try:
        # Convert the character to its ASCII integer value
        char_int = ord(event.name)
        # Convert the integer to its binary representation and remove the '0b' prefix
        binary_representation = bin(char_int)[2:]
        # Print the binary representation, ensuring it's 8 bits long
        print(f"{binary_representation:0>8}")
    except AttributeError:
        # If the event.name is not a single character, ignore it
        pass

# To use this function, you would set it as a callback for keyboard events
# keyboard.on_press(on_key_press_improved)

Das ist eines der Probleme bei ChatGPT. Er macht manchmal einfach nur und nicht immer kommt die beste Lösung dabei raus und nicht immer funktioniert sie.

Getestet habe ich diesen Code auch mit ChatGPT, welcher leider nicht keyboard installieren und nutzen kann, doch dies kann man umgehen:

# Since we cannot use the keyboard library in this environment, I will create a fake event class
# and a method to simulate key presses for testing purposes.

class FakeEvent:
    """ A fake keyboard event class for testing. """
    def __init__(self, name):
        self.name = name

def simulate_key_press(key_name):
    """ Simulates a key press event for the given key name. """
    fake_event = FakeEvent(key_name)
    on_key_press_improved(fake_event)

def on_key_press_improved(event):
    """ Improved function that converts the key name to its binary ASCII representation. """
    try:
        # Convert the character to its ASCII integer value
        char_int = ord(event.name)
        # Convert the integer to its binary representation and remove the '0b' prefix
        binary_representation = bin(char_int)[2:]
        # Print the binary representation, ensuring it's 8 bits long
        print(f"{binary_representation:0>8}")
    except AttributeError:
        # If the event.name is not a single character, ignore it
        pass

# Now let's simulate key presses for 'a', 'b', 'c', and 'd'
simulate_key_press('a')
simulate_key_press('b')
simulate_key_press('c')
simulate_key_press('d')

Was hier passiert ist, er hat einen Code geschrieben, der so tut, als wäre er die keyboard Klasse, um den Code zu testen. Der Code sollte also auch live in Action funktionieren, da dieser in ChatGPTs Python Environment funktioniert hat.

Wenn du das ganze zum lernen von Python nutzen willst, rate ich dir dazu, lieber auf Tutorials und co zuzugreifen, da ChatGPT dir falsche oder auch ineffiziente Dinge bieten kann, die oft nicht unbedingt helfen. ChatGPT ist eine super lern source, wenn man korrekt nachfragt, testet und gegenprüft durch Eigenrecherche

1