ich weiss, ich weiss, man kann in Python Umwandlungen von Dezimalzahlen in Binärformate einfach erledigen in Form von:
Code: Alles auswählen
print int("1010", 2)
(Ich habe bewusst erstmal keine try-except Blöcke, es geht mir nur um die reine Berechnung)
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print "\n** Dieses Programm wandelt Dezimalzahlen in Binaerzahlen um. **\n"
decimal = int(raw_input("Dezimalzahl eingeben:"))
tempResult = decimal
binarySequence = ""
while tempResult != 0:
tempResult = decimal / 2
binaryBit = decimal % 2
decimal = tempResult
binaryBitAsStr = str(binaryBit)
binarySequence += binaryBitAsStr
print binarySequence[::-1]
Das ist natürlich kein Meisterstück, aber ich wollte mir selber die Umrechnung herleiten und dabei hatte ich ganz zum Schluss das Problem, dass ich nicht wusste, wie ich meinen String "binarySequence" umdrehe, sprich: von hinten nach vorne ausgebe.
Zuvor habe ich es mit einer Liste versucht (mit der reverse() - Funktion) aber die Ausgabe danach kam mir nicht so entgegen. Dann bin ich auf die idee gekommen, mich des "Slicings" zu bedienen und damit hat es dann auch ganz gut geklappt, was in der letzten Zeile steht.
Nun zur Kritik: Was ist in Euren Augen nicht effektiv? Was würdet Ihr anders machen? Was habe ich falsch/schlecht gemacht?
Gruß
ne0h