Hallo,
ich hab einige Startschwierigkeiten mit dem programmieren eines Programms, welches den Benutzer zu einer binär codierten Eingabe auffordert.
Das Programm soll die Eingabe verarbeiten und die zu den Dualzuahlen korrespondierenden Unicode Zeichen ausgeben.(Python) :K :K
Ich bräuchte nur ein paar Tips ...vielen, vielen Dank
Hilfe beim Programmieren gesucht
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ich weiss jetzt nicht was du mit "Unicode Zeichen" meinst, aber unter der Annahme, dass du Zahlen meint wird die `int` mit seinen Parametern helfen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
meinst du sowas ?
Code: Alles auswählen
b = raw_input("Einsen und Nullen eingeben: ")
zahl = int(b, 2)
print(chr(zahl))
Das weiß ich auch, deshalb fragte ich ja nach sowas und nicht nach DAS, mir gings erst mal nur darum in erfahrung zu bringen was er eigentlich will.
Ja vielen dank ich meinte genau sowas ....nun hab ich das in Python probiert und es funktioniert, jedoch nur einmal ...warum ist das so?
Und um deutlicher zu werden die Eingabe soll sich aus durch Leerzeichen getrennte Dualzahlen, mit einer Länge von 8-Bit pro Block zusammensetzen. Das Programm soll dann diese Eingabe verarbeiten und die zu den Dualzahlen korrespondierenden Unicode Zeichen ausgeben.
Und um deutlicher zu werden die Eingabe soll sich aus durch Leerzeichen getrennte Dualzahlen, mit einer Länge von 8-Bit pro Block zusammensetzen. Das Programm soll dann diese Eingabe verarbeiten und die zu den Dualzahlen korrespondierenden Unicode Zeichen ausgeben.
Das hat numerix bereits geschrieben.
chr(...) - kann maximal 256 Zeichen umwandeln mehr hat der Ansi(Erweiterte ASCII) Satz nicht
also ist die maximal Zahl "11111111"
In Python 3.x sind zeichen Unicode Objekte und können dann auch größere Werte umwandeln.
Da du bei leerzeichen trennen willst. Splitte den String einfach.
also
chr(...) - kann maximal 256 Zeichen umwandeln mehr hat der Ansi(Erweiterte ASCII) Satz nicht
also ist die maximal Zahl "11111111"
In Python 3.x sind zeichen Unicode Objekte und können dann auch größere Werte umwandeln.
Da du bei leerzeichen trennen willst. Splitte den String einfach.
also
Code: Alles auswählen
b = raw_input("Einsen und Nullen: ")
for octet in b.split(" "):
print(chr(int(octet, 2)))
@illton: Vielleicht solltest Du mal das Tutorial aus der Python-Dokumentation durcharbeiten.