Zurück

Hexa in Dezi by Bekim Jahmurataj

main.py

    #by Bekim Jahmurataj
    #Hexa in Dezimal funktioniert ähnlich wie binär in Dezimal, allerdings Rechnet man immer mal 16 hoch position
    #Bsp:  1F = 1 * 16^1 + 15 * 16^0 = 16 + 15 = 31
    
    
    
    eingabe = input("Bitte Hexadezimalzahl (0-F) eingeben: ")
    eingabe = eingabe.upper() #Setzt alles in Blockbuchstaben damit wir nicht jedesmal eine if or anweisung schreiben müssen
    print(eingabe)
    lange = len(str(eingabe)) - 1 # die gesamt länge der eingabe - 1 dweil 0 mitzählt in der Rechnung
    liste = [] #Liste initialisieren
    ergebnis = int(0)
    for i in eingabe: #Hier prüfen wir jeden einzelnen String und wandeln ihn gegenenfalls in eine Zahl um A-F 
        if i == 'A':
            i = '10'
        if i == 'B':
            i = '11'
        if i == 'C':
            i = '12'
        if i == 'D':
            i = '13' 
        if i == 'E':
            i = '14'
        if i == 'F':
            i = '15'   
        liste.append(i) #Jeder einzelne String wird in eine Liste geschrieben das i ist immer der zähler
    int_liste = [int(a) for a in liste] # Wandelt die Str liste in eine neue Integer liste um damit wir Rechnen können
    for b in int_liste: 
        c = 16 ** lange  # Wir rechnen 16 mit der potenz der länge der Eingabezahl - 1
        b = b * c     # die aktuelle position in der liste b wird mal c gerechnet
        lange = lange - 1 #wir kürzen die länge um 1 damit wir im nächsten durchgang die richtige potenz haben
        ergebnis = ergebnis + b #das ergebnis wird mit dem vorangeganem ergebnis und der berechnung adiert um am Ende auf die gesamt summe zu kommen
    print(ergebnis)