Seite 1 von 1

Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 16:23
von illton
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 :)

Re: Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 16:28
von cofi
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.

Re: Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 16:38
von Xynon1
meinst du sowas ?

Code: Alles auswählen

b = raw_input("Einsen und Nullen eingeben: ")
zahl = int(b, 2)
print(chr(zahl))

Re: Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 16:55
von numerix
@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.

Re: Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 21:55
von Xynon1
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.

Re: Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 23:12
von illton
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.

Re: Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 23:36
von Xynon1
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)))

Re: Hilfe beim Programmieren gesucht

Verfasst: Montag 8. November 2010, 23:47
von BlackJack
@illton: Vielleicht solltest Du mal das Tutorial aus der Python-Dokumentation durcharbeiten.