J'ai créé un programme pour convertir des nombres hexadécimaux en nombres décimaux pour apprendre python.
Si vous utilisez la fonction int comme indiqué ci-dessous, vous pouvez la convertir en un seul coup, donc c'est juste un apprentissage.
main.py
print(int('3b',base=16))
terminal
59
Le code réellement créé ressemble à ce qui suit.
main.py
base_num = '0123456789ABCDEF'
count_num = 3
def hex_to_int(hex_str):#Convertir une chaîne HEX en nombre
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('Veuillez saisir un nombre hexadécimal:')
input_num = input_num.upper()
#Vérification de la chaîne de caractères HEX
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('Pas un nombre hexadécimal')
print(*num_list)
Convertit la valeur hexadécimale saisie en valeur décimale et la renvoie.
Si vous utilisez la notation d'inclusion, vous pouvez l'écrire plus court.