Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Programmation > Python > Lecture du tutoriel

Réalisation du script

Avatar
Auteur : cat_loic
Créé : le 12/02/2007 17:12:41
Modifié : le 30/10/2007 14:25:51
Noter et commenter ce tutoriel
Imprimer ce tutoriel
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Maintenant on passe à la pratique :) .
Enfin !
Sommaire du chapitre :
Chapitre précédent Sommaire Chapitre suivant

Les petits plus

Pour vous aider et vous guider, voici les petits plus.
Tout d'abord, notre joueur jouera contre l'ordinateur !
Ne vous inquiétez pas, nous n'allons pas programmer une Intelligence Artificielle, du moins, pas pour tout de suite ;) .
Pour l'ordinateur, son choix se fera au hasard...
Code : Python
1
2
3
4
5
from random import randint
# Importe la fonction randint, qui permet de choisir un chiffre au hasard.
 
# Fonctionnement de la fonction randint :
randint(x,y) # Avec x le nombre le plus petit qu'on souhaite choisir et y le nombre le plus grand.


Ensuite, on risque d'utiliser dans notre script des "é", caractère bizarre pour notre console, on met donc tout en haut :
Code : Python
1
# -*- coding: utf-8 -*-

Et voilà pour les petits plus.

La structure du programme

Ici, je vous guide pour la structure du programme.
Sachez que vous n'êtes pas obligés de faire comme moi : je ne suis pas parfait, et il existe des millions de possibilités :) .



Voilà, je vous laisse réfléchir là-dessus !
La correction est juste en dessous, mais n'y allez que si vous ne savez vraiment pas quoi faire... ou que si vous avez fini.
Sinon, il existe le forum (évitez de poster dans les commentaires, ils ne sont pas faits pour ça :-° ).
Au pire des cas, envoyez moi un M.P. !

Correction

Voici l'une des corrections possibles (d'abord le code en entier, ensuite les explications) :
Code : Python
 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# -*- coding: utf-8 -*- 
from random import randrange
fin = 0
 
while fin == 0:
    
    ordi = randrange(1,3)
    choix = 0
    joueur = 0
    print "\n 1.Pierre", "\n 2.Papier", "\n 3.Ciseaux"
    
    while joueur == 0:
        
        entree = raw_input()
        joueur = int(entree)
        
        if joueur != 1 and joueur != 2 and joueur != 3:
            
            print "\n Tapez un chiffre entre 1 et 3"
            joueur = 0
            
    if joueur == 1:
        
        print "\n Vous : Pierre"
        
        if ordi == 1:
            
            print "\n Ordi : Pierre", "\n Egalité"
            
        elif ordi == 2:
        
            print "\n Ordi : Papier", "\n Perdu"
            
        elif ordi == 3:
            
            print "\n Ordi : Ciseaux", "\n Gagné"
            
    elif joueur == 2:
        
        print "\n Vous : Papier"
        
        if ordi == 1:
        
            print "\n Ordi : Pierre", "\n Gagné"
            
        elif ordi == 2:
        
            print "\n Ordi : Papier", "\n Egalité"
            
        elif ordi == 3:
        
            print "\n Ordi : Ciseaux", "\n Perdu"
            
    elif joueur == 3:
        
        print "\n Vous : Ciseaux"
        
        if ordi == 1:
            
            print "\n Ordi : Pierre", "\n Perdu"
            
        elif ordi == 2:
            
            print "\n Ordi : Papier", "\n Gagné"
            
        elif ordi == 3:
            
            print "\n Ordi : Papier", "\n Egalité"
            
    while choix != 1:
        
        print "\n 1.Recommencer", "\n 2.quitter"
        entree2 = raw_input()
        analyse = int(entree2)
        
        if analyse !=1 and analyse != 2:
        
            print "\n Tapez un chiffre entre 1 et 2"
            
        elif analyse == 1:
        
            choix = 1
            
        elif analyse == 2:
            
            choix = 1
            fin = 1

Pour commencer : on indique qu'on va utiliser des caractères français (ici, des "é") et on importe la fonction randrange, qui génère des chiffres au hasard (enfin, à peu près, on ne peut reproduire le hasard : pour en savoir plus) :
Code : Python
1
2
# -*- coding: utf-8 -*- 
from random import randrange


Ensuite, on va créer une première boucle, ce sera celle du programme, si on sort de cette boucle, alors le programme est terminé. Pour cela, on crée une variable "fin" qu'on initialisera au début, ainsi, si "fin" prend une autre valeur que 0 (1 par exemple), la boucle du programme est terminée :
Code : Python
1
2
3
fin = 0
 
while fin == 0:


Maintenant commence le début du programme, on initialise les variables qu'on utilisera : la variable "ordi" contiendra un chiffre entre 1 et 3, 1 représentera Pierre, 2 Papier et 3 Ciseaux.
Ensuite la variable "joueur" qui prendra par la suite une valeur entre 1 et 3, valeur qu'aura choisi le joueur et comme pour "ordi", 1 représentera Pierre, 2 Papier et 3 Ciseaux.
Enfin la variable "choix" nous permettra par la suite de savoir si le joueur veut recommencer ou s'il veut quitter le programme.
On affiche ensuite le choix au joueur :
Code : Python
1
2
3
4
ordi = randrange(1,3)
    choix = 0
    joueur = 0
    print "\n 1.Pierre", "\n 2.Papier", "\n 3.Ciseaux"


Ensuite on crée une boucle. Cette boucle va servir à récupérer le choix du joueur, on va donc continuer cette boucle tant que "joueur" = 0. Pour récupérer ce que le joueur va taper, on utilise raw_input(), mais pour être sûr que le joueur va bien entrer un nombre, on ajoutera la fonction int() :
Code : Python
1
2
3
4
while joueur == 0:
        
        entree = raw_input()
        joueur = int(entree)

Toujours dans cette boucle, on va vérifier que le joueur entre bien 1, 2 ou 3 et non pas 9, 45 ou 7, on utilise donc une condition, si elle n'est pas remplie, on réinitialise la variable "joueur" :
Code : Python
1
2
3
4
if joueur != 1 and joueur != 2 and joueur != 3:
            
            print "\n Tapez un chiffre entre 1 et 3"
            joueur = 0

Ceci étant fait, on commence la véritable partie de ce programme : la comparaison des éléments et le résultat, pour cela rien de plus simple, on utilise encore une fois les conditions, et on affiche les éléments du joueur et de l'ordinateur ainsi que le résultat :
Code : Python
 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
33
34
35
36
37
38
39
40
41
42
43
44
45
if joueur == 1:
        
        print "\n Vous : Pierre"
        
        if ordi == 1:
            
            print "\n Ordi : Pierre", "\n Egalité"
            
        elif ordi == 2:
        
            print "\n Ordi : Papier", "\n Perdu"
            
        elif ordi == 3:
            
            print "\n Ordi : Ciseaux", "\n Gagné"
            
    elif joueur == 2:
        
        print "\n Vous : Papier"
        
        if ordi == 1:
        
            print "\n Ordi : Pierre", "\n Gagné"
            
        elif ordi == 2:
        
            print "\n Ordi : Papier", "\n Egalité"
            
        elif ordi == 3:
        
            print "\n Ordi : Ciseaux", "\n Perdu"
            
    elif joueur == 3:
        
        print "\n Vous : Ciseaux"
        
        if ordi == 1:
            
            print "\n Ordi : Pierre", "\n Perdu"
            
        elif ordi == 2:
            
            print "\n Ordi : Papier", "\n Gagné"
            
        elif ordi == 3:

Enfin, on crée une boucle qui va demander au joueur s'il veut continuer ou recommencer, comme pour le choix des éléments, on propose au joueur de répondre par 1 ou par 2, on vérifie qu'il a bien entré 1 ou 2, si il a choisi 1, il veut recommencer : on donne à la variable "choix" la valeur 1, afin de sortir de la boucle, sinon c'est qu'il veut partir, donc on passe les variables "choix" et "fin" à 1 afin de sortir de la boucle où on est et de celle du programme :
Code : Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
while choix != 1:
        
        print "\n 1.Recommencer", "\n 2.quitter"
        entree2 = raw_input()
        analyse = int(entree2)
        
        if analyse !=1 and analyse != 2:
        
            print "\n Tapez un chiffre entre 1 et 2"
            
        elif analyse == 1:
        
            choix = 1
            
        elif analyse == 2:
            
            choix = 1
            fin = 1


Ce programme est largement optimisable, et améliorable...
Pour l'optimisation, je vous laisse faire ;) .
Pour l'amélioration, c'est ce qu'on va voir ensuite.

Et voilà, c'était pas si compliqué que ça !
Le plus dur reste à venir :p .
Chapitre précédent Sommaire Chapitre suivant
Auteur : cat_loic
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 157 Zéros connectés | Requêtes SQL 9 requêtes | Temps de génération de la page : Total (SQL) 0.0706s (0.0591s)