génération de nombres avec des critères précis
Bonsoir,
je dois générer des nombres avec ce critère :
"Your random number generator should produce 32-bit integers in hex form, 8 hex 'digits' per
integer, 10 integers per line, no intervening spaces"
C'est à dire il faut que lorsque je génère mes fichiers avec mes nombres alétoires , il me faut 8 hex digit par ligne
comment est-ce possible en python ?
génération de fichiers en hex
Bonjour,
je dispose d'un générateur de nombres aléatoires et je génère des fichiers avec ces nombres aléatoires.
je veux que mes fichiers contiennent mes nombres générés en hexadécimal avec 8 digit par ligne .
Code:
1 2 3 4 5 6
|
fichier = open("test.txt","w")
for k in range(n):
v=generator(x)
fichier.writelines(v)
fichier.close() |
Voici mon code , mais je veux ce critère dans la génération du fichier sachant que mon générateur générer des nombres qui sont déjà en hexadécimal.
Merci d'avance.
génération de nombres avec des critères précis
Bonjour Yugure,
Je te prose cette idée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#!/usr/bin/python
# coding: utf-8
import random
# a = un nombre aléatoire entre 0 et 4294967295 (0x0 - 0xffffffff)
a = random.randint(0,65874)
print "nombre a=",a
# convertion du nombre entier en une string hexadecimal
print "nombre a en base 16=",hex(a)
a = hex(a)
# on enleve le 0x ou on le garde c est toi qui voit
a = a.split("0x")[1]
# on ajuste l'affichage à 8 digits
a = a.zfill(8)
print "nombre a en base 16 avec 8 digits=",a
print "nombre a en base 16 avec 8 digits grand format=",a.upper()
# on essaye d ouvrir le fichier dans lequel on va copier notre hexa puis on ferme
try:
fichier = open("test.txt",'w')
fichier.write(a)
fichier.close()
except:
print "Erreur de lecture/ecriture"
# EOF |
ce mode me donne le rendu suivant :
nombre a= 55658
nombre a en base 16= 0xd96a
nombre a en base 16 avec 8 digits= 0000d96a
nombre a en base 16 avec 8 digits grand format= 0000D96A
et j'ai bien un fichier test.txt avec 0000d96a
Cordialement,
Sunrise