| Ligne 252 : |
Ligne 252 : |
| | * '''Ligne 26''' : un nouveau nombre est maintenant disponible, ce dernier est alors stocké dans {{fname|old_value}} pour le prochain tour. | | * '''Ligne 26''' : un nouveau nombre est maintenant disponible, ce dernier est alors stocké dans {{fname|old_value}} pour le prochain tour. |
| | * '''Ligne 27''' : affichage du nombre et sa représentation binaire. | | * '''Ligne 27''' : affichage du nombre et sa représentation binaire. |
| − | * '''Ligne 29''' : transforme un nombre en sa représentation binaire. Pour rappel, la représentation binaire ne contient que le nombre de bits nécessaires. Par exemplen si {{fname|new_value}} contient 3 alors {{fname|bin()}} produira la chaîne de caractères "0b11". La méthode {{fname|replace()}} enlève le préfixe "0b"... il ne reste que les bits. | + | * '''Ligne 29''' : transforme un nombre en sa représentation binaire. Pour rappel, la représentation binaire ne contient que le nombre de bits nécessaires. Par exemple si {{fname|new_value}} contient 3 alors {{fname|bin()}} produira la chaîne de caractères "0b11". La méthode {{fname|replace()}} enlève le préfixe "0b"... il ne reste que les bits. |
| − | * '''Lignes 30 et 31''' : Le représentation binaire dont nous avons besoin doit avoir 3 bits. Grâce à une astuce de formatage avec "%3s", la chaîne de caractères va être augmentée, si nécessaire, en 3 positions par insertion d'espace à gauche. Ainsi {{fname|"%3s" % "11"}} produira alors " 11". Pour une valeur de 5, {{fname|"%3s" % "101"}} produira un contenu inchangé (donc "101"). Enfin, la ligne 31 permet de remplacer les espaces (ceux insérés par le formatage) par des "0". Cans l'exemple ci-avant {{fname|" 11".replace(" ","0")}} produira la chaîne de caractères "011". | + | * '''Lignes 30 et 31''' : Le représentation binaire dont nous avons besoin doit avoir 3 bits. Grâce à une astuce de formatage avec "%3s", la chaîne de caractères va être augmentée, si nécessaire, en 3 positions par insertion d'espace à gauche. Ainsi {{fname|"%3s" % "11"}} produira alors " 11". Pour une valeur de 5, {{fname|"%3s" % "101"}} produira un contenu inchangé (donc "101"). Enfin, la ligne 31 permet de remplacer les espaces (ceux insérés par le formatage) par des "0". Dans l'exemple ci-avant {{fname|" 11".replace(" ","0")}} produira la chaîne de caractères "011". |
| | + | * '''Lignes 34 et 35''' : la variable {{fname|s}} contient la représentation binaire du nombre aléatoire, par exemple "011" (3). Ainsi s[0] retourne le bit de poids fort (donc "0") tandis que s[2] retourne le bit de poids faible ("1"). Il se fait que la liste {{fname|LEDs}} est organisée dans le même ordre avec {{fname|LEDs[0]}} branché sur la LED indiquant l'état du bit 2 (bit de poids fort). Ainsi {{fname|LEDs[0].value( 1 )}} allume la LED du bit 2. Si la valeur 1 est remplacée par la valeur du bit de poids fort, donc {{fname|s[0]}} que l'on converti en entier à l'aide de {{fname|int(s[0]}}. Pour résumer {{fname|LEDs[0].value( int(s[0]) )}} pour le poids fort, {{fname|LEDs[1].value( int(s[1]) )}} |
| | + | et {{fname|LEDs[2].value( int(s[2]) )}} pour le bit de poids faible. |
| | | | |
| | == Ressources == | | == Ressources == |