Errata
- page 34 : la valeur de i après la boucle for i in range(5): est 4, au lieu de 5 dans l'encadré « Erreurs » et 3 dans l'encadré de commentaire (signalé par T. Pollet)
- page 36, exercice 22 : « puis calcule et le résultat » ⤳ « puis calcule et affiche le résultat » (signalé par F. Voisin)
- page 47, premier encadré : il faut remplacer Short par 2 octets dans le texte, pour être cohérent avec le code (signalé par M. Jestin)
- page 105, programme 11 : il faut remplacer if i != j && t[i] == t[j] par if i != j and t[i] == t[j] (signalé par F. Voisin)
- page 138, exercice 135 :
la dernière ligne du programme doit être
return i < len(t) - 1
(signalé par P. Braun) - page 198 : dans la ligne >>> { x*x : x for x in range(10) }, il faut remplacer range(10) par range(5) (signalé par Mehdi Troudi)
- page 180 : dans l'exemple de distance de Hamming sur la chaîne "folle à la messe", la distance de Hamming est 2 et non 1
- pages 208/209 : w.writeheaders() doit être remplacé par w.writeheader() (signalé par J.-F. Kentzel)
- page 235, cadre « savoir plus » :
le code SQL contient deux typos. Il faut lire
SELECT t1.PRN, t1.NBR AS NBR2007, t2.NBR AS NBR2008 FROM table2007 AS t1, table2008 AS t2 WHERE t1.PRN = t2.PRN
- page 244 : en bas de la page, le nombre correspondant à 1001010111110011 en binaire est 95F3 en hexadécimal, et non pas A5F3 (signalé par O. Elophe)
- page 253 : dans le calcul de l'exposant, il faut lire 27+22+21 et non pas 27+23+22 (signalé par A. Casamayou)
- page 259 : les exercices 217 et 218 sont identiques (signalé par G. Forhan)
- page 284, exercice 234 : il faut lire « On considère la fonction à trois variables suivante : f(x,y,z) = ... » (signalé par G. Forhan)
- page 302, exercice 238 : Dans l'énoncé de l'exercice il faut lire return x+y+t et non return x+y+x. Dans le corrigé de cet exercice, il manque la case mémoire pour t dans le segment de pile de g(4). (signalé par Solène Heitzmann)
- page 377, encadré « Outils et bonnes pratiques » : le troisième lien devrait être https://www.w3schools.com/ (signalé par Sacha D.)
- page 402 : Après Page rechargée, il faut écrire <?php echo et non <? echo (signalé par Alexis Zaimi)
- page 422, corrigé de l'exercice 22 : la ligne p = 2 * p doit être en retrait (signalé par T. Pollet)
- page 425, corrigé de l'exercice 32 : la ligne goto(j, c * n) doit être remplacée par goto(c * j, c * n) (signalé par A. Villard)
- page 456, corrigé de l'exercice 128
(puissance 4) :
- Plutôt qu'une fonction diag, il faut écrire
deux fonctions
def diag_haut(g, j, l, c): for i in range(4): if g[l + i][c + i] != j: return False return True def diag_bas(g, j, l, c): for i in range(4): if g[l - i][c + i] != j: return False return True
et remplacer ensuite dans la fonction victoire la ligneor c < 4 and l < 3 and diag(g, j, l, c):
par les deux lignesor c < 4 and l < 3 and diag_haut(g, j, l, c) \ or c < 4 and l > 2 and diag_bas(g, j, l, c):
- Dans la fonction match_nul, il faut remplacer range(6) par range(7).
- Plutôt qu'une fonction diag, il faut écrire
deux fonctions
- page 469, corrigé de l'exercice 172 :
le bon schéma est le suivant
(signalé par B. Dhyevre) - page 494, corrigé de l'exercice 238 : Il manque la case mémoire pour t dans le segment de pile de g(4). À gauche (A) elle ne contient rien. À droite (B) elle contient 20. (signalé par Solène Heitzmann)