Générer un octect aléatoire
Bonjour,
Vers la fin de la formation Les bases de python il y a pas mal d'exo (avec les palindromes, pangrammes etc...)
Je suis à l'exercice :
Dans cet exercice, nous allons générer un octet aléatoire.
Un octet est représenté par une suite de 8 chiffres allant de 0 à 1, par exemple : 01101110 qui est égal au nombre 110 en base décimale.
J'ai essayé plusieurs choses mais je bloque je n'y arrive pas. J'aurais juste besoin d'un petit coup de pouce. Car au final je sais que je vais devoir utiliser le module random mais ce que j'essaye ne va pas du tout.
Et j'ai pas envie de regarder la soluce sans l'avoir réussi lol.
Merci d'avance
J'ai essayé un truc comme ça, mais quand il y a des 0 au début de mon nombre et bah ils disparaissent lol et je n'ai plus 8 chiffres :
import random
numbers = ["0", "1"]
liste = []
for i in range(0, 9):
a = random.choice(numbers)
liste.append(a)
resultat = "".join(liste)
print(resultat)
octet = int(resultat)
print(octet)
Bah j'ai pensé au zfill par exemple. Mais ça ne fonctionne que sur des str.
Et j'ai le problème quand je converti de str à int.
Et du coup je n'arrive pas à faire la mm chose avec un int.
En gros, tu aurais un indice en plus stp ? lol
Dsl je suis un peu long à la détente des fois
Bonjour Gabriel,
Je vois plusieurs problème dans ton code
Le premier est que la variable octet contient 9 caractères et pas 8 comme demandé
Le deuxième point est que la variable octet doit être de type "str" pour valider l'exercice
SPOIL:
Pour info, voici ma solution
import random
choice_list = ["0", "1"]
octet = "".join(random.choice(choice_list) for _ in range(8))
Bonne continuation
Romuald
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte