Hello Python !
5 participants
Page 13 sur 13
Page 13 sur 13 • 1, 2, 3 ... 11, 12, 13
Re: Hello Python !
a est une variable, un conteneur.
"pierre" est une constante.
Si tu veux assigner pierre à a, tu fais
a = "pierre"
et si tu veux tester s'il y a pierre dans a, tu fais:
if (a == "pierre"):
"pierre" est une constante.
Si tu veux assigner pierre à a, tu fais
a = "pierre"
et si tu veux tester s'il y a pierre dans a, tu fais:
if (a == "pierre"):
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
ca ne marche pasL'enfant Voodoo a écrit:a est une variable, un conteneur.
"pierre" est une constante.
Si tu veux assigner pierre à a, tu fais
a = "pierre"
et si tu veux tester s'il y a pierre dans a, tu fais:
if (a == "pierre"):
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
def maximum(a, b, c):
a = "pîerre"
if (a >= b and a >= c):
return a
elif (b >= a and b >= c):
return b
else:
return c
# Le programme commence ici
print (maximum(1, 2, 3))
print (maximum(12, 4, 12))
print (maximum(10, 8, 6))
syntax error
a = "pîerre"
if (a >= b and a >= c):
return a
elif (b >= a and b >= c):
return b
else:
return c
# Le programme commence ici
print (maximum(1, 2, 3))
print (maximum(12, 4, 12))
print (maximum(10, 8, 6))
syntax error
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
1) Je ne peux RIEN FAIRE avec une syntax error si tu me dis pas quelle est la syntax error et où elle est.
Normalement tu peux la réparer tout seul en lisant l'intitulé de l'erreur.
2) C'est un programme qui te donne le maximum de 3 nombres, c'est pas en collant un "a = pierre" a un endroit au hasard que tu vas le transformer magiquement en jeu
Normalement tu peux la réparer tout seul en lisant l'intitulé de l'erreur.
2) C'est un programme qui te donne le maximum de 3 nombres, c'est pas en collant un "a = pierre" a un endroit au hasard que tu vas le transformer magiquement en jeu
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
Je m'en doutais un peu !L'enfant Voodoo a écrit:1) Je ne peux RIEN FAIRE avec une syntax error si tu me dis pas quelle est la syntax error et où elle est.
Normalement tu peux la réparer tout seul en lisant l'intitulé de l'erreur.
2) C'est un programme qui te donne le maximum de 3 nombres, c'est pas en collant un "a = pierre" a un endroit au hasard que tu vas le transformer magiquement en jeu
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
mais comment établi-t-on un lien entre les lettres et "pierre, ciseaux; feuille" ?
That is the question
That is the question
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Alors, il y a 2 joueurs, donc 2 variables qui vont servir à stocker ce que jouent les joueurs.
Par exemple, a et b.
Et on aura, par exemple:
a = "pierre"
b = "feuille"
Le joueur 1 à donc joué pierre, et le second feuille.
ou
a = "ciseau"
b = "feuille"
Etc...
Il faut maintenant déterminer qui gagne entre les 2 joueurs.
C'est là qu'interviennent:
- les structures conditionnelles,
- la logique booléenne.
On aura 3 cas:
si a == b alors, ils ont le même signe, personne ne gagne,
sinon, si a == pierre et b == ciseau, ou si a est ciseau et b feuille, ou a feuille et b pierre, a gagne
sinon b gagne.
Par exemple, a et b.
Et on aura, par exemple:
a = "pierre"
b = "feuille"
Le joueur 1 à donc joué pierre, et le second feuille.
ou
a = "ciseau"
b = "feuille"
Etc...
Il faut maintenant déterminer qui gagne entre les 2 joueurs.
C'est là qu'interviennent:
- les structures conditionnelles,
- la logique booléenne.
On aura 3 cas:
si a == b alors, ils ont le même signe, personne ne gagne,
sinon, si a == pierre et b == ciseau, ou si a est ciseau et b feuille, ou a feuille et b pierre, a gagne
sinon b gagne.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
Il en branle pas une...
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
L'enfant Voodoo a écrit:Il en branle pas une...
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Au boulot !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
ça caille, je double mon temps de sommeil
et ainsi je bois deux fois moins. C'est booléen.
et ainsi je bois deux fois moins. C'est booléen.
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
le conteneur c'est moi
les variables c'est le temps de sommeil et le litrage
les variables c'est le temps de sommeil et le litrage
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Alors, t'en es où ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
boire deux fois moins c'est sur ça fout les booles!!archibald de montpucier a écrit: ça caille, je double mon temps de sommeil
et ainsi je bois deux fois moins. C'est booléen.
Baron Robert de la etc.- Fonction : Grammar nazi, diptèro-sodomite, écolo-nanar, capilotracteur, opposant à la pensée rance de droite !
Messages : 21483
Date d'inscription : 10/04/2016
Re: Hello Python !
Je piétine.L'enfant Voodoo a écrit:Alors, t'en es où ?
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
c'est surtout un choc pour l'organisme!Baron Robert de la etc. a écrit:boire deux fois moins c'est sur ça fout les booles!!archibald de montpucier a écrit: ça caille, je double mon temps de sommeil
et ainsi je bois deux fois moins. C'est booléen.
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
le sevrage est plus violent que pour le bon lait a sa maman !!!archibald de montpucier a écrit:c'est surtout un choc pour l'organisme!Baron Robert de la etc. a écrit:boire deux fois moins c'est sur ça fout les booles!!archibald de montpucier a écrit: ça caille, je double mon temps de sommeil
et ainsi je bois deux fois moins. C'est booléen.
Baron Robert de la etc.- Fonction : Grammar nazi, diptèro-sodomite, écolo-nanar, capilotracteur, opposant à la pensée rance de droite !
Messages : 21483
Date d'inscription : 10/04/2016
Re: Hello Python !
pouaaaah !!!! avec tout ce qu'on entend sur le lait ces derniers temps! C'est à vous dégoûter d'être un chat !Baron Robert de la etc. a écrit:le sevrage est plus violent que pour le bon lait a sa maman !!!archibald de montpucier a écrit:c'est surtout un choc pour l'organisme!Baron Robert de la etc. a écrit:boire deux fois moins c'est sur ça fout les booles!!archibald de montpucier a écrit: ça caille, je double mon temps de sommeil
et ainsi je bois deux fois moins. C'est booléen.
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
archibald de montpucier a écrit:Je piétine.L'enfant Voodoo a écrit:Alors, t'en es où ?
Bon...
Quand on programme, on divise un problème en tâches individuelles.
Pour jouer à pierre-feuille-ciseaux contre l'ordinateur, quelles sont ces tâches ?
- Saisir le choix du joueur,
- définir aléatoirement le choix de la machine,
- comparer,
- afficher le résultat.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
beuh....oui...
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
c'est pas je pattine pour un chat , plutôt??archibald de montpucier a écrit:Je piétine.L'enfant Voodoo a écrit:Alors, t'en es où ?
Baron Robert de la etc.- Fonction : Grammar nazi, diptèro-sodomite, écolo-nanar, capilotracteur, opposant à la pensée rance de droite !
Messages : 21483
Date d'inscription : 10/04/2016
Re: Hello Python !
Première étape:
On demande ce que le joueur joue.
C'est comme demander le nom, la ville, le plat, etc... exercice qu'on a fait 50 fois.
Avec une nuance: on vérifie ce que le joueur a tapé. Ça doit être "pierre", "ciseaux" ou "feuille", sinon c'est pas bon et on redemande.
En gros: on demande avec input, on vérifie avec un test, et on répète avec une boucle.
Par exemple, et sous forme de fonction:
On demande ce que le joueur joue.
C'est comme demander le nom, la ville, le plat, etc... exercice qu'on a fait 50 fois.
Avec une nuance: on vérifie ce que le joueur a tapé. Ça doit être "pierre", "ciseaux" ou "feuille", sinon c'est pas bon et on redemande.
En gros: on demande avec input, on vérifie avec un test, et on répète avec une boucle.
Par exemple, et sous forme de fonction:
- Code:
def symboleJoueur():
s = ""
while (s != "pierre" and s != "feuille" and s != "ciseaux"):
s = input ("Tapez 'pierre', 'feuille' ou 'ciseaux'")
return s
print (symboleJoueur())
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
Deuxième étape:
On tire un nombre au hasard pour l'ordinateur entre 0 et 2. Si c'est 0, c'est pierre, 1, c'est ciseaux, 2, c'est feuille.
On tire un nombre au hasard pour l'ordinateur entre 0 et 2. Si c'est 0, c'est pierre, 1, c'est ciseaux, 2, c'est feuille.
- Code:
import random
def symboleAleatoire():
n = random.randint(0, 2)
if (n == 0):
return "pierre"
elif (n == 1):
return "ciseaux"
else:
return "feuille"
print (symboleAleatoire())
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
Baron Robert de la etc. a écrit:c'est pas je pattine pour un chat , plutôt??archibald de montpucier a écrit:Je piétine.L'enfant Voodoo a écrit:Alors, t'en es où ?
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
En associant les 2:
- Code:
import random
def symboleAleatoire():
n = random.randint(0, 2)
if (n == 0):
return "pierre"
elif (n == 1):
return "ciseaux"
else:
return "feuille"
def symboleJoueur():
s = ""
while (s != "pierre" and s != "feuille" and s != "ciseaux"):
s = input ("Tapez 'pierre', 'feuille' ou 'ciseaux'")
return s
a = symboleJoueur()
b = symboleAleatoire()
print ("Le joueur joueur joue " + a + ", l'ordinateur joue " + b +".")
Prog a écrit:Tapez 'pierre', 'feuille' ou 'ciseaux' pierre
Le joueur joueur joue pierre, l'ordinateur joue feuille.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
Maintenant, il faut comparer et "noter".
On crée une fonction qui prend les 2 signes, qui renvoie 1 quand le premier bat le second, -1 quand le second bas le premier, et 0 en cas d'égalité.
Le test se fait avec de la simple logique booléene.
On crée une fonction qui prend les 2 signes, qui renvoie 1 quand le premier bat le second, -1 quand le second bas le premier, et 0 en cas d'égalité.
Le test se fait avec de la simple logique booléene.
- Code:
def comparer(s1, s2):
if (s1 == s2):
return 0
elif (s1 == "pierre" and s2 == "ciseaux" or s1 == "feuille" and s2 == "pierre" or s1 == "ciseaux" and s2 == "feuille"):
return 1
else:
return -1
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
Et voilà, plus qu'à ajouter un peu de texte avec des print.
Avec ce code, quand tu le lances, tu fais 5 parties contre l'ordi.
Ou en cliquant: https://repl.it/FAgY/4
Avec ce code, quand tu le lances, tu fais 5 parties contre l'ordi.
- Code:
import random
def symboleAleatoire():
n = random.randint(0, 2)
if (n == 0):
return "pierre"
elif (n == 1):
return "ciseaux"
else:
return "feuille"
def symboleJoueur():
s = ""
while (s != "pierre" and s != "feuille" and s != "ciseaux"):
s = input ("Tapez 'pierre', 'feuille' ou 'ciseaux': ")
return s
def comparer(s1, s2):
if (s1 == s2):
return 0
elif (s1 == "pierre" and s2 == "ciseaux" or s1 == "feuille" and s2 == "pierre" or s1 == "ciseaux" and s2 == "feuille"):
return 1
else:
return -1
for i in range(0, 5):
s1 = symboleJoueur()
s2 = symboleAleatoire()
print ("L'ordinateur joue " + s2)
resultat = comparer(s1, s2)
if (resultat == 1):
print ("Gagné !")
elif (resultat == -1):
print ("Perdu !")
else:
print ("Égalité.")
Ou en cliquant: https://repl.it/FAgY/4
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
ok ça fonctionne ...!L'enfant Voodoo a écrit:Deuxième étape:
On tire un nombre au hasard pour l'ordinateur entre 0 et 2. Si c'est 0, c'est pierre, 1, c'est ciseaux, 2, c'est feuille.
- Code:
import random
def symboleAleatoire():
n = random.randint(0, 2)
if (n == 0):
return "pierre"
elif (n == 1):
return "ciseaux"
else:
return "feuille"
print (symboleAleatoire())
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Et le programme entier ? Tu arrives à jouer ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
oui bien sur...j ai testé pendant 10 mn l aléatoire fonctionne et les réponses sont toujours justesL'enfant Voodoo a écrit:Et le programme entier ? Tu arrives à jouer ?
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Alors tu vas l'améliorer !
Tu vas rajouter un comptage des points, et la partie se fera en 5 points gagnants.
Tu vas rajouter un comptage des points, et la partie se fera en 5 points gagnants.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
enfantin...L'enfant Voodoo a écrit:Alors tu vas l'améliorer !
Tu vas rajouter un comptage des points, et la partie se fera en 5 points gagnants.
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Qu'est-ce qu'il faut ajouter ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
beuh...L'enfant Voodoo a écrit:Qu'est-ce qu'il faut ajouter ?
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Putain, je te demande pas la mer à boire !
Des scores...
Quand t'as un match de foot, ya 2 variables: le nombre de points du premier club, et le nombre de points du second, donc là, pareil, 2 variables.
On met quoi dedans ?
0, parce qu'au début, il y a 0 - 0, comme au foot.
Ou est-ce qu'on modifie le score ?
Lorsque le joueur gagne, on augmente son score, lorsqu'il perd, on augmente le score de l'autre. Facile, non ?
Que devient la boucle ?
On ne veut plus 5 parties, mais 5 points.
Donc deux cas de figure: le joueur gagne, ou la machine gagne.
Le code complet:
Des scores...
Quand t'as un match de foot, ya 2 variables: le nombre de points du premier club, et le nombre de points du second, donc là, pareil, 2 variables.
On met quoi dedans ?
0, parce qu'au début, il y a 0 - 0, comme au foot.
- Code:
score1 = 0
score2 = 0
Ou est-ce qu'on modifie le score ?
Lorsque le joueur gagne, on augmente son score, lorsqu'il perd, on augmente le score de l'autre. Facile, non ?
- Code:
if (resultat == 1):
print ("Gagné !")
score1 = score1 + 1
elif (resultat == -1):
print ("Perdu !")
score2 = score2 + 1
else:
print ("Égalité.")
Que devient la boucle ?
On ne veut plus 5 parties, mais 5 points.
Donc deux cas de figure: le joueur gagne, ou la machine gagne.
- Code:
while (score1 < 5 and score2 < 5) :
Le code complet:
- Code:
import random
def symboleAleatoire():
n = random.randint(0, 2)
if (n == 0):
return "pierre"
elif (n == 1):
return "ciseaux"
else:
return "feuille"
def symboleJoueur():
s = ""
while (s != "pierre" and s != "feuille" and s != "ciseaux"):
s = input ("Tapez 'pierre', 'feuille' ou 'ciseaux': ")
return s
def comparer(s1, s2):
if (s1 == s2):
return 0
elif (s1 == "pierre" and s2 == "ciseaux" or s1 == "feuille" and s2 == "pierre" or s1 == "ciseaux" and s2 == "feuille"):
return 1
else:
return -1
# Le programme commence ici
score1 = 0
score2 = 0
victoire = 5
while (score1 < victoire and score2 < victoire) :
print ("Joueur: " + str(score1) + " - Machine: " + str(score2))
s1 = symboleJoueur()
s2 = symboleAleatoire()
print ("L'ordinateur joue " + s2)
resultat = comparer(s1, s2)
if (resultat == 1):
print ("Gagné !")
score1 = score1 + 1
elif (resultat == -1):
print ("Perdu !")
score2 = score2 + 1
else:
print ("Égalité.")
print ("_______________________________")
print ("Joueur: " + str(score1) + " - Machine: " + str(score2))
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
l'ordi m'a piné par 5 à 2 maiiirdre !
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Et est-ce qu'au moins tu comprends le programme et la logique derrière ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
Ca fonctionne mais il n'est pas content
à la ligne 21:
"too many boolean expressions in if statement (6/5)"
à la ligne 18
"redefining name 's1' from outer scope (ligne 33)"
"redefining name 's2' from outer scope (ligne 34)"
à la ligne 21:
"too many boolean expressions in if statement (6/5)"
à la ligne 18
"redefining name 's1' from outer scope (ligne 33)"
"redefining name 's2' from outer scope (ligne 34)"
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
en fait la définition du jeu est là :
elif (s1 == "pierre" and s2 == "ciseaux" or s1 == "feuille" and s2 == "pierre" or s1 == "ciseaux" and s2 == "feuille"):
entre les "==" , "and" , et "or"
j'ai bon?
elif (s1 == "pierre" and s2 == "ciseaux" or s1 == "feuille" and s2 == "pierre" or s1 == "ciseaux" and s2 == "feuille"):
entre les "==" , "and" , et "or"
j'ai bon?
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Ce sont des warnings pas gênants. Mais à éviter quand-mêmearchibald de montpucier a écrit:Ca fonctionne mais il n'est pas content
La "définition" du jeu, j'ai rien compris
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
la formule pour que le jeu fonctionne si tu veuxL'enfant Voodoo a écrit:Ce sont des warnings pas gênants. Mais à éviter quand-mêmearchibald de montpucier a écrit:Ca fonctionne mais il n'est pas content
La "définition" du jeu, j'ai rien compris
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Pourquoi "entre" ?
Les and, or et == sont les composantes principales de la formule. Sans elles, tu n'as que des données.
Les and, or et == sont les composantes principales de la formule. Sans elles, tu n'as que des données.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
C'est ce que j essaye de t expliquer...C est grâce à ces composantes que fonctionne la formule...C'est du moins ce que j ai comprisL'enfant Voodoo a écrit:Pourquoi "entre" ?
Les and, or et == sont les composantes principales de la formule. Sans elles, tu n'as que des données.
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
On va la disséquer demain !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
- Code:
def comparer(s1, s2):
if (s1 == s2):
return 0
elif (s1 == "pierre" and s2 == "ciseaux" or s1 == "feuille" and s2 == "pierre" or s1 == "ciseaux" and s2 == "feuille"):
return 1
else:
return -1
Alors, c'est ce qui va permettre de savoir qui a gagné.
C'est une fonction qui a deux paramètres en entrée, s1 et s2.
Ce sont des chaînes de caractères, des strings.
La fonction a aussi une valeur de retour, qui est le résultat du duel.
On a fixé arbitrairement: 1 en cas de victoire du premier joueur, -1 en cas de victoire du second joueur, 0 en cas d'égalité. On aurait pu faire autrement, comme je l'ai écrit, c'est arbitraire.
La valeur de retour s'envoie avec return.
Dans le cas de l'égalité - donc si s1 est pareil que s2 - on a dit qu'on renvoie 0, donc on l'écrit en python, ce qui donne:
- Code:
if (s1 == s2):
return 0
S'il n'y a pas d'égalité, on teste si le premier est plus fort que le second, et si c'est vrai, on renvoie 1.
En français:
Sinon si s1 est pierre et s2 est ciseaux ou si s1 est feuille et s2 est pierre ou si s1 est ciseaux et s2 est fille, renvoie 1.
En python:
- Code:
elif (s1 == "pierre" and s2 == "ciseaux" or s1 == "feuille" and s2 == "pierre" or s1 == "ciseaux" and s2 == "feuille"):
return 1
Si le joueur 1 n'a pas gagné et s'il n'y a pas d'égalité, c'est donc que le joueur 2 a gagné et qu'on peut renvoyer -1, d'où:
- Code:
else:
return -1
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
- Code:
import random
def symboleAleatoire():
n = random.randint(0, 2)
if (n == 0):
return "roi"
elif (n == 1):
return "dame"
else:
return "valet"
def symboleJoueur():
s = ""
while (s != "roi" and s != "dame" and s != "valet"):
s = input ("Tapez 'roi', 'dame' ou 'valet': ")
return s
def comparer(s1, s2):
if (s1 == s2):
return 0
elif (s1 == "roi" and s2 == "dame" or s1 == "valet" and s2 == "roi" or s1 == "dame" and s2 == "valet"):
return 1
else:
return -1
# Le programme commence ici
score1 = 0
score2 = 0
victoire = 5
while (score1 < victoire and score2 < victoire) :
print ("Joueur: " + str(score1) + " - Machine: " + str(score2))
s1 = symboleJoueur()
s2 = symboleAleatoire()
print ("L'ordinateur joue " + s2)
resultat = comparer(s1, s2)
if (resultat == 1):
print ("Gagné !")
score1 = score1 + 1
elif (resultat == -1):
print ("Perdu !")
score2 = score2 + 1
else:
print ("Égalité.")
print ("_______________________________")
print ("Joueur: " + str(score1) + " - Machine: " + str(score2))
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
en fait on peut programmer pas mal de jeux de cartes aussi...
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Oui, mais c'est pas aussi marrant que de jouer à la belote avec de vrais Marseillais, ou au poker avec des Texans !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello Python !
oui ça manque de jaune et de "triches entre amis" pour les premiers et de whisky et de colt pour les secondsL'enfant Voodoo a écrit:Oui, mais c'est pas aussi marrant que de jouer à la belote avec de vrais Marseillais, ou au poker avec des Texans !
mais chui sûr qu'on pourrait les inclure dans le programme...genre "tu triches, tu prends une balle et tu es éliminé" Le plus dur va être de programmer la triche...Y'a que dans un cerveau humain que ça peut se programmer...
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello Python !
Il y avait un jeu d'échecs dans lequel l'ordinateur trichait parfois. Il essayait de troubler le joueur avec des danseuses ou des trucs comme ça pendant qu'il faisait son coup...
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Page 13 sur 13 • 1, 2, 3 ... 11, 12, 13
Page 13 sur 13
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum