Seb-Info

::

Chap 5: Les fonctions

Chap 5: Les fonctions

Les fonctions permettent de ne pas réécrire des lignes de code. Elles permettent une factorisation du code en même tant qu’une meilleur lisibilité. Une fonction est : un ensemble d’instructions qui remplissent une certaine fonction et souvent renvoie un résultat. elle peut prendre des paramètres et donc s’adapter aux besoins…

Chap 6 : Les tableaux en PHP

Chap 6 : Les tableaux en PHP

Tableaux indexés numériquement Ces tableaux utilisent des identifiants numérique dont la numérotation commence à 0. Ainsi suivant l’exemple ci-dessous ( exemple 6.1 ) [pastacode lang= »php » manual= »%3C%3Fphp%0A%20%20%24papier%5B%5D%20%3D%20%22Copieur%22%3B%0A%20%20%24papier%5B%5D%20%3D%20%22Jet%20d’encre%22%3B%0A%20%20%24papier%5B%5D%20%3D%20%22Laser%22%3B%0A%20%20%24papier%5B%5D%20%3D%20%22Photo%22%3B%0A%0A%20%20print_r(%24papier)%3B%0A%3F%3E » message= »exemple 6.1″ highlight= » » provider= »manual »/] Nous avons à l’écran : [pastacode lang= »php » manual= »Array%20(%20%5B0%5D%20%3D%3E%20Copieur%20%5B1%5D%20%3D%3E%20Jet%20d’encre%20%5B2%5D%20%3D%3E%20Laser%20%5B3%5D%20%3D%3E%20Photo%20) » message= » » highlight= » » provider= »manual »/] On peut si on le souhaite utiliser des identifiants…

Dessiner avec une tortue : Python

Support de TP:   SupportTortue [pastacode lang= »python » manual= »%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Tortue%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Activit%C3%A9%201%20-%20Bouge%20ta%20tortue%20!%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%20D%C3%A9but%20du%20code%0A%0Afrom%20turtle%20import%20*%0A%0Awidth(5)%20%20%20%20%23%20Epaisseur%20du%20trait%0A%0A%23%20Lettre%20%22P%22%0A%0Acolor(‘red’)%0A%0Aleft(90)%20%20%20%20%20%20%20%20%23%2090%20degr%C3%A9s%20%C3%A0%20gauche%0Aforward(200)%20%20%20%20%23%20On%20avance%0A%0Aright(90)%0Aforward(100)%0A%0Aright(90)%0Aforward(100)%0A%0Aright(90)%0Aforward(100)%0A%0Aup()%0A%0A%23%20Fin%20du%20code%20%0A%0A%23%20Lettre%20%22Y%22%0A%0Acolor(‘blue’)%0A%0Agoto(200%2C0)%0Adown()%0Asetheading(90)%0Aforward(120)%0Aleft(30)%0Aforward(75)%0Abackward(75)%0Aright(60)%0Aforward(75)%0A%0Aexitonclick() » message= »Correction activité 1″ highlight= » » provider= »manual »/] [pastacode lang= »python » manual= »%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Tortue%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Activit%C3%A9%202%20-%20Boucle%20%22pour%22%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Question%201%0A%0Afrom%20turtle%20import%20*%0A%0A%23%20Un%20pentagone%0Awidth(5)%0Acolor(‘blue’)%0A%0Afor%20i%20in%20range(5)%3A%0A%20%20%20%20forward(100)%0A%20%20%20%20left(72)%0A%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Question%202%0A%0A%23%20Un%20autre%20pentagone%0Acolor(‘red’)%0A%0Alongueur%20%3D%20200%0Aangle%20%3D%2072%0Afor%20i%20in%20range(5)%3A%0A%20%20%20%20forward(longueur)%0A%20%20%20%20left(angle)%0A%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Question%203%0A%0A%23%20Un%20dodecagone%20(12%20c%C3%B4t%C3%A9s%20quoi)%0A%0Acolor(%22purple%22)%0An%20%3D%2012%0Aangle%20%3D%20360%2Fn%0Afor%20i%20in%20range(n)%3A%0A%20%20%20%20forward(100)%0A%20%20%20%20left(angle)%0A%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Question%204%0A%0A%23%20Une%20spirale%0A%0Acolor(%22green%22)%0Alongueur%20%3D%2010%0Afor%20i%20in%20range(25)%3A%0A%20%20%20%20forward(longueur)%0A%20%20%20%20left(40)%0A%20%20%20%20longueur%20%3D%20longueur%20%2B%2010%0A%0Aexitonclick()%0A » message= »Correction de l’activité 2″ highlight= » » provider= »manual »/] [pastacode lang= »python » manual= »%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Tortue%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Activit%C3%A9%203%20-%20Graphe%20d’une%20fonction%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%0Afrom%20turtle%20import%20*%0Afrom%20math%20import%20*%0A%0Aspeed(%22fastest%22)%0Awidth(2)%0Acolor(‘blue’)%0Aup()%0A%0Afor%20x%20in%20range(-200%2C200)%3A%0A%20%20%20%20if%20x%20%3D%3D%20-199%3A%20down()%0A%20%20%20%20%23%20y%20%3D%201%2F%20100%20*%20x%20**%202%20%20%20%23%20Parabole%0A%20%20%20%20y%20%3D%20100*sin(1%2F20*x)%20%20%20%20%20%23%20Sinus%0A%20%20%20%20goto(x%2Cy)%0A%0A%0Aexitonclick()%0A » message= »Activité 3″ highlight= » » provider= »manual »/] [pastacode lang= »python » manual= »%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Tortue%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Activit%C3%A9%204%20-%20Boucle%20pour%20it%C3%A9r%C3%A9e%20-%20Triangle%20de%20Sierpinski%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0Afrom%20turtle%20import%20*%0A%0Awidth(5)%0Aup()%0Agoto(-100%2C-100)%0Adown()%0A%0Afor%20i%20in%20range(3)%3A%0A%20%20%20%20color(%22blue%22)%0A%20%20%20%20forward(256)%0A%20%20%20%20left(120)%0A%0A%20%20%20%20for%20i%20in%20range(3)%3A%0A%20%20%20%20%20%20%20%20color(%22red%22)%0A%20%20%20%20%20%20%20%20forward(128)%0A%20%20%20%20%20%20%20%20left(120)%0A%0A%20%20%20%20%20%20%20%20for%20i%20in%20range(3)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20color(%22green%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20forward(64)%0A%20%20%20%20%20%20%20%20%20%20%20%20left(120)%20%20%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20for%20i%20in%20range(3)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%20%20%20%20color(%22orange%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%20%20%20%20forward(32)%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%20%20%20%20left(120)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%0Aexitonclick()%0A » message= »Activité 4″ highlight= » » provider= »manual »/] [pastacode lang= »python » manual= »%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Tortue%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Activit%C3%A9%205%20-%20Table%20de%20multiplications%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0Afrom%20turtle%20import%20*%0Afrom%20math%20import%20*%0A%0Aspeed(%22fastest%22)%0A%0An%20%3D%20100%0Ab%20%3D%202%0Ar%20%3D%20200%0A%0Afor%20i%20in%20range(n)%3A%0A%20%20%20%20up()%0A%20%20%20%20goto(r*cos(2*i*pi%2Fn)%2Cr*sin(2*i*pi%2Fn))%0A%20%20%20%20down()%0A%20%20%20%20j%20%3D%20(b*i)%20%25%20n%0A%20%20%20%20goto(r*cos(2*j*pi%2Fn)%2Cr*sin(2*j*pi%2Fn))%0A%0Aexitonclick() » message= »Activité 5″ highlight= » » provider= »manual »/] [pastacode lang= »python » manual= »%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Tortue%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%23%20Activit%C3%A9%204%20-%20Plusieurs%20tortues%20-%20Courbe%20de%20poursuite%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%23%20Pr%C3%A9paration%0A%0Afrom%20turtle%20import%20*%0A%0Atortue1%20%3D%20Turtle()%0Atortue2%20%3D%20Turtle()%0Atortue3%20%3D%20Turtle()%0Atortue4%20%3D%20Turtle()%0A%0Atortue1.speed(%22fastest%22)%0Atortue2.speed(%22fastest%22)%0Atortue3.speed(%22fastest%22)%0Atortue4.speed(%22fastest%22)%0A%0Atortue1.color(‘red’)%0Atortue2.color(‘blue’)%0Atortue3.color(‘orange’)%0Atortue4.color(‘green’)%0A%0A%23%20tortue1.width(5)%0A%23%20tortue2.width(5)%0A%23%20tortue3.width(5)%0A%23%20tortue4.width(5)%0A%0Atortue1.up()%0Atortue1.goto(-200%2C-200)%0Atortue1.down()%0A%0Atortue2.up()%0Atortue2.goto(200%2C-200)%0Atortue2.down()%0A%0Atortue3.up()%0Atortue3.goto(200%2C200)%0Atortue3.down()%0A%0Atortue4.up()%0Atortue4.goto(-200%2C200)%0Atortue4.down()%0A%0Aprint(tortue1.position())%0Aprint(tortue1.towards(0%2C0))%0A%0A%0A%23%20Boucle%20principale%0A%0Afor%20i%20in%20range(40)%3A%0A%0A%20%20%20%20position1%20%3D%20tortue1.position()%0A%20%20%20%20position2%20%3D%20tortue2.position()%0A%20%20%20%20position3%20%3D%20tortue3.position()%0A%20%20%20%20position4%20%3D%20tortue4.position()%0A%0A%20%20%20%20tortue1.goto(position2)%20%20%23%20Va%20%C3%A0%20la%20tortue%20suivante%0A%20%20%20%20tortue1.goto(position1)%20%20%20%20%20%20%20%23%20Revient%20%C3%A0%20sa%20place%0A%0A%20%20%20%20tortue2.goto(position3)%0A%20%20%20%20tortue2.goto(position2)%0A%0A%20%20%20%20tortue3.goto(position4)%0A%20%20%20%20tortue3.goto(position3)%0A%0A%20%20%20%20tortue4.goto(position1)%0A%20%20%20%20tortue4.goto(position4)%0A%0A%20%20%20%20angle1%20%3D%20tortue1.towards(position2)%20%20%23%20R%C3%A9cup%C3%A8rer%20l’angle%0A%20%20%20%20tortue1.setheading(angle1)%20%20%20%23%20S’oriente%20selon%20cet%20angle%0A%0A%20%20%20%20angle2%20%3D%20tortue2.towards(position3)%0A%20%20%20%20tortue2.setheading(angle2)%0A%0A%20%20%20%20angle3%20%3D%20tortue3.towards(position4)%0A%20%20%20%20tortue3.setheading(angle3)%0A%0A%20%20%20%20angle4%20%3D%20tortue4.towards(position1)%0A%20%20%20%20tortue4.setheading(angle4)%0A%0A%20%20%20%20tortue1.forward(10)%20%20%20%20%23%20Avance%0A%20%20%20%20tortue2.forward(10)%0A%20%20%20%20tortue3.forward(10)%0A%20%20%20%20tortue4.forward(10)%0A%0Aexitonclick() » message= »Activité 6″ highlight= » » provider= »manual »/]

Programme à compléter

Exercice 1 : Le programme doit dessiner des cercles dans la fenêtre et la position est aléatoire. L’application dispose pour cela de bouton. Vous devez compléter les 2 lignes avec des ##### afin que l’application fonctionne. [pastacode lang= »python » manual= »%23%20ICN%0A%23%20Exercice%20avec%20TkInter%0A%23%20Dessiner%20des%20cercles%20de%20mani%C3%A8re%20al%C3%A9atoire%0Afrom%20tkinter%20import%20*%0Aimport%20random%0A%0Adef%20Cercle()%3A%0A%20%20%20%20%22%22%22%20Dessine%20un%20cercle%20de%20centre%20(x%2Cy)%20et%20de%20rayon%20r%20%22%22%22%0A%20%20%20%20x%20%3D%20%23%23%23%23%23%23%23%23%23%23%23%0A%20%20%20%20y%20%3D%20%23%23%23%23%23%23%23%23%23%23%23%0A%20%20%20%20r%20%3D%2020%0A%20%20%20%20Canevas.create_oval(x-r%2C%20y-r%2C%20x%2Br%2C%20y%2Br%2C%20outline%3D’blue’%2C%20fill%3D’blue’)%0A%0Adef%20Effacer()%3A%0A%20%20%20%20%22%22%22%20Efface%20la%20zone%20graphique%20%22%22%22%0A%20%20%20%20Canevas.delete(ALL)%0A%0A%23%20Cr%C3%A9ation%20de%20la%20fen%C3%AAtre%20principale%20(main%20window)%0AMafenetre%20%3D%20Tk()%0AMafenetre.title(‘Cercle’)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Canvas%20(zone%20graphique)%0ALargeur%20%3D%20480%0AHauteur%20%3D%20320%0ACanevas%20%3D%20Canvas(Mafenetre%2C%20width%20%3D%20Largeur%2C%20height%20%3D%20Hauteur%2C%20bg%20%3D’white’)%0ACanevas.pack(padx%20%3D5%2C%20pady%20%3D5)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%20(bouton%20Go)%0ABoutonGo%20%3D%20Button(Mafenetre%2C%20text%20%3D’Go’%2C%20command%20%3D%20Cercle)%0ABoutonGo.pack(side%20%3D%20LEFT%2C%20padx%20%3D%2010%2C%20pady%20%3D%2010)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%20(bouton%20Effacer)%0ABoutonEffacer%20%3D%20Button(Mafenetre%2C%20text%20%3D’Effacer’%2C%20command%20%3D%20Effacer)%0ABoutonEffacer.pack(side%20%3D%20LEFT%2C%20padx%20%3D%205%2C%20pady%20%3D%205)%0A%0A%23%20Cr%C3%A9ation%20d’un%20widget%20Button%20(bouton%20Quitter)%0ABoutonQuitter%20%3D%20Button(Mafenetre%2C%20text%20%3D’Quitter’%2C%20command%20%3D%20Mafenetre.destroy)%0ABoutonQuitter.pack(side%20%3D%20LEFT%2C%20padx%20%3D%205%2C%20pady%20%3D%205)%0A%0AMafenetre.mainloop() » message= »A compléter » highlight= » » provider= »manual »/] Correction: x = random.randint(0,Largeur) y = random.randint(0,Hauteur)…

Mini projet : MasterMind

Sujet à faire en groupe : MasterMInd Correction : On suppose que l’utilisateur ne fait pas d’erreur de saisie. [pastacode lang= »python » manual= »%23%20Jeu%20du%20MasterMind%0A%0Aimport%20random%0A%0A%23%20Cr%C3%A9ation%20d’une%20liste%20avec%20les%20valeurs%20possibles%0Acouleurs%20%3D%20%5B’R’%2C’J’%2C’V’%2C’O’%2C’B’%2C’F’%5D%0A%0Adef%20TirageCouleur(nbrCouleurs%2C%20doublon)%3A%0A%20%20%20%20couleursTirage%3D%5B%5D%0A%20%20%20%20if%20(doublon)%3A%0A%20%20%20%20%20%20%20%20for%20rep%20in%20range(0%2CnbrCouleurs)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20couleursTirage.append(random.choice(couleurs))%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20while%20len(couleursTirage)%20!%3D%20nbrCouleurs%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20On%20fait%20un%20tirage%0A%20%20%20%20%20%20%20%20%20%20%20%20couleur%20%3D%20random.choice(couleurs)%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20On%20regarde%20si%20la%20couleur%20est%20d%C3%A9j%C3%A0%20dans%20le%20tableau%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(%20couleur%20not%20in%20couleursTirage%20)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20c’est%20bon%20on%20ajoute%20au%20tableau%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20couleursTirage.append(couleur)%0A%20%20%20%20print%20(couleursTirage)%0A%20%20%20%20return%20couleursTirage%0A%0Adef%20BonnesBP(comb1%2C%20comb2)%3A%0A%20%20%20%20bp%3D0%0A%20%20%20%20for%20i%20in%20range(0%2Clen(comb1))%3A%0A%20%20%20%20%20%20%20%20if%20(comb1%5Bi%5D%20%3D%3D%20comb2%5Bi%5D)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20bp%3Dbp%2B1%0A%20%20%20%20return%20bp%0A%0Adef%20BonnesMP(comb1%2C%20comb2)%3A%0A%20%20%20%20mp%3D0%0A%20%20%20%20comb1%3Dlist(comb1)%0A%20%20%20%20comb2%3Dlist(comb2)%0A%20%20%20%20%23%20on%20retire%20les%20bons%20%C3%A9l%C3%A9ments%20bien%20plac%C3%A9s%0A%20%20%20%20taille%20%3D%20len(comb1)%0A%20%20%20%20i%3D0%0A%20%20%20%20comp%3D0%0A%20%20%20%20while%20comp%3C4%3A%0A%20%20%20%20%20%20%20%20if%20(comb1%5Bi%5D%20%3D%3D%20comb2%5Bi%5D)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20comb1.remove(comb1%5Bi%5D)%0A%20%20%20%20%20%20%20%20%20%20%20%20comb2.remove(comb2%5Bi%5D)%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20comme%20on%20suprime%20un%20%C3%A9l%C3%A9ment%20on%20n’avance%20pas%20l’indice%0A%20%20%20%20%20%20%20%20%20%20%20%20i%3Di-1%0A%20%20%20%20%20%20%20%20comp%3Dcomp%2B1%20%23%20une%20comparaison%20de%20plus%0A%20%20%20%20%20%20%20%20i%3Di%2B1%0A%20%20%20%20for%20e%20in%20comb1%3A%0A%20%20%20%20%20%20%20%20if%20(e%20in%20comb2)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20mp%3Dmp%2B1%0A%20%20%20%20%20%20%20%20%20%20%20%20comb2.remove(e)%0A%20%20%20%20return%20mp%0A%0A%23%20tirage%20de%20l’ordinateur%0AcombinaisonOrdi%20%3D%20TirageCouleur(4%2CTrue)%0A%0Agagne%20%3D%20False%0Aessai%20%3D%200%0Awhile%20gagne%3D%3DFalse%20and%20essai%3C3%3A%0A%20%20%20%20%23demande%20du%20choix%20de%20l’utilisateur%0A%20%20%20%20combinaison%20%3D%20input(%22Donner%20votre%20combinaison%20de%204%20couleurs%20%5BR%2CJ%2CV%2CO%2CB%2CF%5D%22)%0A%0A%20%20%20%20print(%22Bonnes%20couleurs%20bien%20plac%C3%A9es%20%3A%22%2CBonnesBP(combinaison%2CcombinaisonOrdi))%0A%20%20%20%20print(%22Bonnes%20couleurs%20mal%20plac%C3%A9es%20%3A%22%2CBonnesMP(combinaison%2CcombinaisonOrdi))%0A%0A%20%20%20%20if%20(BonnesBP(combinaison%2CcombinaisonOrdi)%20%3D%3D%204)%3A%0A%20%20%20%20%20%20%20%20gagne%3DTrue%0A%20%20%20%20else%20%3A%0A%20%20%20%20%20%20%20%20essai%20%3D%20essai%20%2B%201%0A%0Aif%20(gagne)%3A%0A%20%20%20%20print(%22Bravo%20!%22)%0Aelse%3A%0A%20%20%20%20print(%22Vous%20avez%20perdu%20!%22)%0A%20%20%20%20print%20(%22La%20combinaison%20%C3%A0%20trouver%20%C3%A9tait%3A%22)%0A%20%20%20%20for%20element%20in%20combinaisonOrdi%3A%0A%20%20%20%20%20%20%20%20print(element)%0A%0A%0A%0A%0A%0A%0A%0A » message= » » highlight= » » provider= »manual »/]

Démineur

Support de cours :demineur Fichier démineur :  [pastacode lang= »python » manual= »import%20tkinter%0Aimport%20random%0AgameOver%20%3D%20False%0Ascore%20%3D%200%0AcarresAVerifier%20%3D%200%0AterrainMine%20%3D%20%5B%5D%0A%0Adef%20jouer_demineur()%3A%0A%20%20%20%20creer_terrainMine(terrainMine)%0A%20%20%20%20fenetre%20%3D%20tkinter.Tk()%0A%20%20%20%20configuration_fenetre(fenetre)%0A%20%20%20%20fenetre.mainloop()%0A%0Adef%20creer_terrainMine(terrainMine)%3A%0A%20%20%20%20global%20carresAVerifier%0A%20%20%20%20for%20rangee%20in%20range(0%2C20)%3A%0A%20%20%20%20%20%20%20%20listeRangee%20%3D%20%5B%5D%0A%20%20%20%20%20%20%20%20for%20colonne%20in%20range(0%2C10)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20random.randint(1%2C100)%20%3C%2020%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listeRangee.append(1)%0A%20%20%20%20%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20listeRangee.append(0)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20carresAVerifier%20%3D%20carresAVerifier%20%2B%201%0A%20%20%20%20%20%20%20%20terrainMine.append(listeRangee)%0A%20%20%20%20printTerrain(terrainMine)%0A%20%20%20%20%0A%0Adef%20printTerrain(terrainMine)%3A%0A%20%20%20%20for%20listeRangee%20in%20terrainMine%3A%0A%20%20%20%20%20%20%20%20print(listeRangee)%0A%0Adef%20quand_clique(event)%3A%0A%20%20%20%20global%20score%0A%20%20%20%20global%20gameOver%0A%20%20%20%20global%20carresAVerifier%0A%20%20%20%20carre%20%3D%20event.widget%0A%20%20%20%20rangee%20%3D%20int(carre.grid_info()%5B%22row%22%5D)%0A%20%20%20%20colonne%20%3D%20int(carre.grid_info()%5B%22column%22%5D)%0A%20%20%20%20textActuel%20%3D%20carre.cget(%22text%22)%0A%0A%20%20%20%20if%20gameOver%20%3D%3D%20False%3A%0A%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee%5D%5Bcolonne%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20gameOver%20%3D%20True%0A%20%20%20%20%20%20%20%20%20%20%20%20carre.config(bg%20%3D%20%22red%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20print(%22Game%20Over%20!%20Tu%20as%20touch%C3%A9%20une%20bombe%20!%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20print(%22Ton%20score%20%3A%22%2C%20score)%0A%20%20%20%20%20%20%20%20elif%20textActuel%20%3D%3D%20%22%20%20%20%20%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20carre.config(bg%20%3D%20%22brown%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%200%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20rangee%20%3C%209%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee%2B1%5D%5Bcolonne%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20rangee%20%3E%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee-1%5D%5Bcolonne%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20colonne%20%3E%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee%5D%5Bcolonne-1%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20colonne%20%3C%209%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee%5D%5Bcolonne%2B1%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20rangee%20%3E%200%20and%20colonne%20%3E%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee-1%5D%5Bcolonne-1%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20rangee%20%3C%209%20and%20colonne%20%3E%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee%2B1%5D%5Bcolonne-1%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20rangee%20%3E%200%20and%20colonne%20%3C%209%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee-1%5D%5Bcolonne%2B1%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20rangee%20%3C%209%20and%20colonne%20%3C%209%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20terrainMine%5Brangee%2B1%5D%5Bcolonne%2B1%5D%20%3D%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20totalBombes%20%3D%20totalBombes%20%2B%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20carre.config(text%20%3D%20%22%20%22%20%2B%20str(totalBombes)%20%2B%20%22%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20carresAVerifier%20%3D%20carresAVerifier%20-%201%0A%20%20%20%20%20%20%20%20%20%20%20%20score%20%3D%20score%20%2B%201%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20carresAVerifier%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gameOver%20%3D%20True%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(%22Bravo%2C%20tu%20as%20trouv%C3%A9%20tous%20les%20carr%C3%A9s%20non%20min%C3%A9s.%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(%22Ton%20score%20%3A%22%2C%20score)%0A%0A%0Adef%20configuration_fenetre(fenetre)%3A%0A%20%20%20%20for%20numeroRangee%2C%20listeRangee%20in%20enumerate(terrainMine)%3A%0A%20%20%20%20%20%20%20%20for%20numeroColonne%2C%20entreeColonne%20in%20enumerate(listeRangee)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20random.randint(1%2C100)%20%3C%2025%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20carre%20%3D%20tkinter.Label(fenetre%2C%20text%20%3D%20%22%20%20%20%20%22%2C%20bg%20%3D%22darkgreen%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20elif%20random.randint(1%2C100)%20%3E%2075%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20carre%20%3D%20tkinter.Label(fenetre%2C%20text%20%3D%20%22%20%20%20%20%22%2C%20bg%20%3D%22seagreen%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20carre%20%3D%20tkinter.Label(fenetre%2C%20text%20%3D%20%22%20%20%20%20%22%2C%20bg%20%3D%22green%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20carre.grid(row%20%3D%20numeroRangee%2C%20column%20%3D%20numeroColonne)%0A%20%20%20%20%20%20%20%20%20%20%20%20carre.bind(%22%3CButton-1%3E%22%2C%20quand_clique)%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%0Ajouer_demineur() » message= »demineur.py » highlight= » » provider= »manual »/]

Fichier en Python

Support : pythonFichier Correction : [pastacode lang= »python » manual= »%23%20Fichiers%20en%20Python%0Adef%20nbrDeMots(fichier)%3A%0A%20%20%20%20fichierLecture%20%3D%20open(fichier%2C%22r%22)%0A%20%20%20%20nbrMots%20%3D%200%0A%20%20%20%20for%20ligne%20in%20fichierLecture%3A%0A%20%20%20%20%20%20%20%20nbrMots%2B%3D1%0A%0A%20%20%20%20fichierLecture.close()%0A%20%20%20%20return%20nbrMots%0A%0Adef%20PlusLongMot(fichier)%3A%0A%20%20%20%20fichierLecture%20%3D%20open(fichier%2C%22r%22)%0A%20%20%20%20nbrCaractere%20%3D%200%0A%20%20%20%20for%20ligne%20in%20fichierLecture%3A%0A%20%20%20%20%20%20%20%20ligne%20%3D%20ligne.strip()%0A%20%20%20%20%20%20%20%20if%20(len(ligne)%3EnbrCaractere)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20nbrCaractere%3Dlen(ligne)%0A%20%20%20%20fichierLecture.close()%0A%20%20%20%20return%20nbrCaractere%0A%0Adef%20MotsAvecNbrCaractere(fichier%2C%20nbr)%3A%0A%20%20%20%20fichierLecture%20%3D%20open(fichier%2C%22r%22)%0A%20%20%20%20mot%20%3D%20%5B%5D%0A%20%20%20%20for%20ligne%20in%20fichierLecture%3A%0A%20%20%20%20%20%20%20%20ligne%20%3D%20ligne.strip()%0A%20%20%20%20%20%20%20%20if%20(len(ligne)%3D%3Dnbr)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20mot.append(ligne)%0A%20%20%20%20fichierLecture.close()%0A%20%20%20%20return%20mot%0A%20%20%20%20%0Aprint(%22Il%20y%20a%20%7B%7D%20mots%20dans%20ce%20fichier%22.format((nbrDeMots(%22ODS5.txt%22))))%0Aprint(%22Le%20plus%20grand%20nombre%20de%20caract%C3%A8res%20est%20de%20%7B%7D%20%22.format((PlusLongMot(%22ODS5.txt%22))))%0AnbrDeCaractereMax%20%3D%20PlusLongMot(%22ODS5.txt%22)%0AlesMots%20%3D%20MotsAvecNbrCaractere(%22ODS5.txt%22%2C%20nbrDeCaractereMax)%0Aprint%20(%22il%20y%20a%20%7B%7D%20mot(s)%20contenant%20%7B%7D%20caract%C3%A8res%22.format(len(lesMots)%2CnbrDeCaractereMax)) » message= » » highlight= » » provider= »manual »/] [pastacode lang= »python » manual= »def%20palindromes(fichier)%3A%0A%20%20%20%20fichierLecture%20%3D%20open(fichier%2C%22r%22)%0A%20%20%20%20palin%20%3D%20%5B%5D%0A%20%20%20%20i%20%3D%200%0A%20%20%20%20for%20ligne%20in%20fichierLecture%3A%0A%20%20%20%20%20%20%20%20liste%3Dlist(ligne)%0A%20%20%20%20%20%20%20%20if%20(‘%5Cn’%20in%20liste)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20liste.remove(‘%5Cn’)%0A%20%20%20%20%20%20%20%20listeInverse%20%3D%20list(reversed(liste))%0A%20%20%20%20%20%20%20%20if%20(liste%20%3D%3D%20listeInverse)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20palin.append(ligne)%0A%0A%20%20%20%20fichierLecture.close()%0A%20%20%20%20return%20palin%0A%0Afor%20l%20in%20palindromes(%22ODS5.txt%22)%3A%0A%20%20%20%20print%20(l) » message= » » highlight= » » provider= »manual »/] [pastacode lang= »python » manual= »def%20listeMots(nbr%2C%20c1%2C%20c2)%3A%0A%20%20%20%20fichierLecture%20%3D%20open(%22ODS5.txt%22%2C%22r%22)%0A%20%20%20%20mots%20%3D%20%5B%5D%0A%20%20%20%20for%20ligne%20in%20fichierLecture%3A%0A%20%20%20%20%20%20%20%20ligne%3Dligne.strip()%0A%20%20%20%20%20%20%20%20if%20(len(ligne)%3D%3Dnbr%20and%20ligne%5B0%5D%3D%3Dc1%20and%20ligne%5Blen(ligne)-1%5D%3D%3Dc2)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20mots.append(ligne)%0A%20%20%20%20fichierLecture.close()%0A%20%20%20%20return%20mots%0A%0Aprint%20(len(listeMots(5%2C%20’a’%2C%20’z’)))%0Aprint%20(listeMots(5%2C%20’a’%2C%20’z’)) » message= » » highlight= » » provider= »manual »/] Dictionnaire : ods5