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)