L'incrémentation (itération) entre deux valeurs hexadécimales en Python
Je suis en train d'apprendre Python (lentement mais sûrement), mais le besoin d'écrire un programme qui (entre autres choses) par incréments entre les deux valeurs en hexadécimal par exemple 30D681 et 3227FF.
Je vais avoir du mal à trouver la meilleure façon de le faire. Pour l'instant j'ai vu un extrait de code ici qui sépare l'hexagone en 30, D6 et 81, les œuvres de ce genre-
char = 30
char2 = D6
char3 = 81
def doublehex():
global char,char2,char3
for x in range(255):
char = char + 1
a = str(chr(char)).encode("hex")
for p in range(255):
char2 = char2 + 1
b = str(chr(char2)).encode("hex")
for y in range(255):
char3 = char3 + 1
b = str(chr(char2)).encode("hex")
c = a+" "+b
print "test:%s"%(c)
doublehex()
Est-il un moyen plus simple de l'incrémentation de la valeur dans son ensemble, par exemple, quelque chose comme
char = 30D681
char2 = 3227FF
def doublehex():
global char,char2
for x in range(255):
char = char + 1
a = str(chr(char)).encode("hex")
for p in range(255):
char2 = char2 + 1
b = str(chr(char2)).encode("hex")
c = a+" "+b
print "test:%s"%(c)
doublehex()
Excuses pour mon ignorance complète, j'ai vraiment essayé de Googler la réponse, mais ne pouvais pas le trouver...
OriginalL'auteur user2188291 | 2013-04-25
Vous devez vous connecter pour publier un commentaire.
Suffit simplement de traiter les valeurs comme des entiers, et l'utilisation
xrange()
de gamme de plus de deux valeurs. Utilisationformat(value, 'X')
à affichage comme hex:Si le début et la fin valeurs ont été saisies comme des chaînes hexadécimales, utilisez
int(hexvalue, 16)
pour les transformer en nombres entiers premiers:OriginalL'auteur Martijn Pieters