Ich habe ein Programm erstellt, um Hexadezimalzahlen in Dezimalzahlen umzuwandeln, um Python zu lernen.
Wenn Sie die int-Funktion wie unten gezeigt verwenden, können Sie sie auf einmal konvertieren, sodass sie nur lernt.
main.py
print(int('3b',base=16))
terminal
59
Der tatsächlich erstellte Code sieht wie folgt aus.
main.py
base_num = '0123456789ABCDEF'
count_num = 3
def hex_to_int(hex_str):#Konvertieren Sie die HEX-Zeichenfolge in eine Zahl
i = len(hex_str)
value = 0
digits = 0
while i > 0:
value += base_num.find(hex_str[i - 1]) * (len(base_num) ** digits)
i -= 1
digits += 1
return value
if __name__ == "__main__":
num_list = []
while len(num_list) < count_num:
input_num = input('Bitte geben Sie eine Hexadezimalzahl ein:')
input_num = input_num.upper()
#HEX-Zeichenfolgenprüfung
is_num_check = True
for num in input_num:
if not num in base_num:
is_num_check = False
if is_num_check:
input_val = hex_to_int(input_num)
num_list.append(input_val)
else:
print('Keine hexadezimale Zahl')
print(*num_list)
Konvertiert den eingegebenen Hexadezimalwert in einen Dezimalwert und gibt ihn zurück.
Wenn Sie die Einschlussnotation verwenden, können Sie sie kürzer schreiben.