Python :: Aufgabe #168 :: Lösung #5
8 Lösungen

#168
Zahlen umwandeln: Binär zu Dezimal
Anfänger - Python
von Nachbar
- 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.
Beispiel:
Binär: 11010
Dezimal: 26
Beispiel:
Binär: 11010
Dezimal: 26
#5

von Agent_X29 (20 Punkte)
- 01.12.2017 um 15:10 Uhr

#DEZIMAL UMWANDLER #BINÄR UMWANDLER import time def dezimal(b): liste = [] zahl = 0 d = 1 for x in range(len(b)): liste.append(1) for x in range(len(b)): if int(b[len(b)-x-1]) == 1: zahl += d d *= 2 return zahl def binär(d): zahlen = [] i = 1 for x in range(d): zahlen.append(i) i *= 2 if i > d: i /= 2 i = int(i) break zahlen.reverse() liste = [] listestr = "" i = 0 while len(liste) < len(zahlen): if zahlen[i] <= d: liste.append(1) d -= zahlen[i] else: liste.append(0) i += 1 for x in liste: listestr += str(x) return listestr def start(): print("\n"*50) print("Binär in Dezimal | Dezimal in Binär") print("") print("Binärzahl eingeben [B]") print("Dezimalzahl eingeben [D]") print("\n") choice = input(">> ") zahl = 0 try: if (choice == "B") or (choice == "b"): print("\n"*50) print("Gebe eine binäre Zahl ein:") print("\n") zahl = int(input(">>")) for x in str(zahl): if (x != "1") and (x != "0"): print("Das ist keine binäre Zahl. BSP: 11010 (=26)") input() start() print("Umgewandelt: " + str(dezimal(str(zahl)))) input() start() elif (choice == "D") or (choice == "d"): print("\n"*50) print("Gebe eine dezimale Zahl ein:") print("\n") zahl = int(input(">>")) print("Umgewandelt: " + str(binär(zahl))) input() start() else: print("Eingabe wurde nicht erkannt!") input() start() except Exception: print("ERROR") input() start() start()
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1