Hilfe beim Programmieren gesucht

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
illton
User
Beiträge: 3
Registriert: Montag 8. November 2010, 16:21

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 :)
Benutzeravatar
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.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

meinst du sowas ?

Code: Alles auswählen

b = raw_input("Einsen und Nullen eingeben: ")
zahl = int(b, 2)
print(chr(zahl))
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

@Xynon1: Falls er tatsächlich DAS meint, dann funktioniert das bis Python 2.6 nur für zahl < 256.
Für Python 3 dann auch für zahl < 1114112; dann muss es natürlich input() statt raw_input() heißen.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

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.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
illton
User
Beiträge: 3
Registriert: Montag 8. November 2010, 16:21

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.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

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

Code: Alles auswählen

b = raw_input("Einsen und Nullen: ")
for octet in b.split(" "):
    print(chr(int(octet, 2)))
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlackJack

@illton: Vielleicht solltest Du mal das Tutorial aus der Python-Dokumentation durcharbeiten.
Antworten