Comment faire un compteur dans une condition dans une définition
Résolu
peraro
-
peraro -
peraro -
Bonjour,
je cherche à savoir comment savoir combien de fois une condition a été exécuté dans une définition :
J'ai créé un programme qui python qui simule le résultat d'un match de foot ( victoire de l'équipe à domicile , à l'extérieur ou match nul) seulement ce programme peu donner des résultat différents pour un même match car c'est IA basé en partie sur le hasard .
J'ai donc ajouté une boucle qui fait que le programme s'exécute 1000 fois mais j'aimerai avoir un compteur qui m'indique combien de fois le programme trouve la victoire de l'équipe à domicile etc ...
voici un résumé du programme :
je cherche à savoir comment savoir combien de fois une condition a été exécuté dans une définition :
J'ai créé un programme qui python qui simule le résultat d'un match de foot ( victoire de l'équipe à domicile , à l'extérieur ou match nul) seulement ce programme peu donner des résultat différents pour un même match car c'est IA basé en partie sur le hasard .
J'ai donc ajouté une boucle qui fait que le programme s'exécute 1000 fois mais j'aimerai avoir un compteur qui m'indique combien de fois le programme trouve la victoire de l'équipe à domicile etc ...
voici un résumé du programme :
c = 1000
while c < 1000 :
def 1:
blabla
def 2 :
if blabla :
print("v de l'équipe à domicile") <-- comment mettre un compteur ici?
if blabla
print("v de l'équipe à l'exterieur")<-- là
else blabla
print("match nul)<-- et là
code complet :
import numpy as np
import pandas
c = 0
while c < 1000 :
x_entrer = np.array(([3,2,0,1,2,2,2,3,0,2,2,1,3,0,2,4,6,0,2,4,4], [3,0,2,2,1,2,1,1,3,2,1,2,3,1,1,2,2,6,4,2,4], [2,2,1,2,2,1,1,4,0,2,3,0,1,1,3,2,8,0,4,6,0], [2,2,1,3,2,0,1,2,2,2,3,0,1,3,1,2,4,4,0,6,4], [1,3,1,1,1,3,3,1,1,0,2,3,2,1,2,6,2,2,6,4,0], [1,0,4,2,1,2,0,1,4,2,1,2,1,0,4,0,2,8,4,2,4], [1,2,2,3,1,1,0,2,3,2,1,2,1,1,3,0,4,6,4,2,4], [2,3,0,2,1,2,0,4,1,1,1,3,3,2,0,0,8,2,6,2,2], [1,2,2,2,0,3,2,2,1,3,0,2,0,1,4,4,4,2,4,0,6], [3,0,2,0,0,5,4,1,0,0,0,5,3,2,0,8,2,0,10,0,0], [3,2,0,3,0,2,3,1,1,0,2,3,1,2,2,6,2,2,6,4,0]), dtype=float)
y = np.array(([0], [1], [1], [0.5], [0], [0.5], [1], [0.5], [1], [0]), dtype=float)
x_entrer = x_entrer/np.amax(x_entrer, axis=0)
X = np.split(x_entrer, [10])[0]
xPrediction = np.split(x_entrer, [10])[1]
class Neural_Network(object):
def __init__(self):
self.inputSize = 21
self.outputSize = 1
self.hiddenSize = 22
self.W1 = np.random.randn(self.inputSize, self.hiddenSize)
self.W2 = np.random.randn(self.hiddenSize, self.outputSize)
def forward(self, X):
self.z = np.dot(X, self.W1)
self.z2 = self.sigmoid(self.z)
self.z3 = np.dot(self.z2, self.W2)
o = self.sigmoid(self.z3)
return o
def sigmoid(self, s):
return 1/(1+np.exp(-s))
def sigmoidPrime(self, s):
return s * (1 - s)
def backward(self, X, y, o):
self.o_error = y - o
self.o_delta = self.o_error*self.sigmoidPrime(o)
self.z2_error = self.o_delta.dot(self.W2.T)
self.z2_delta = self.z2_error*self.sigmoidPrime(self.z2)
self.W1 += X.T.dot(self.z2_delta)
self.W2 += self.z2.T.dot(self.o_delta)
def train(self, X, y):
def predict(self):
print("")
if(self.forward(xPrediction) < (1/3)):
print("\033[32mVictoire de l'équipe à domicile ! \033[0m\n")<--ici
elif(self.forward(xPrediction) > (2/3)):
print("\033[31mVictoire de l'équipe à l'extérieur ! \033[0m\n")<-- ici
elif(self.forward(xPrediction) == (1/3)):
print("Victoire de l'équipe à domicile ou match nul ! \n")
elif(self.forward(xPrediction) == (1/3)):
print("Victoire de l'équipe à l'extérieur ou match nul ! \n")
else :
print("\033[33mMatch nul ! \033[0m\n")<-- ici
NN = Neural_Network()
for i in range(1000):
NN.train(X,y)
NN.predict()
c=c+1
Configuration: Linux / Firefox 87.0
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Comment faire un compteur dans une condition dans une définition
- Excel cellule couleur si condition texte - Guide
- Compteur de contractions - Télécharger - Santé & Bien-être
- Compteur communicant - Guide
- Excel condition ou - Guide
- Excel colorer une cellule sous condition d'une autre cellule - Forum Excel
5 réponses
Bonjour,
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test():
print('test')
test()
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour peut-être ainsi:
dans le programme principal, avant le premier appel:
if(self.forward(xPrediction) < (1/3)):
nvictdom += 1
print("\033[32mVictoire de l'équipe à domicile ! \033[0m\n")<--ici
dans le programme principal, avant le premier appel:
nvictdom = 0
Le problème c'est que je ne peut pas définir nvictdom en dehors de la définition predict et que si je définie nvicdom dans la définition predict , nvictdom va se réinitialiser à zéro a chaque fois que la fonction va être effectuer .
as-tu fait une simple recherche "python global"?
https://www.journaldunet.fr/web-tech/developpement/1202515-python-utiliser-une-variable-globale-dans-une-fonction-au-sein-d-une-autre-fonction/
https://www.journaldunet.fr/web-tech/developpement/1202515-python-utiliser-une-variable-globale-dans-une-fonction-au-sein-d-une-autre-fonction/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai remis le code :
import numpy as np
import pandas
c = 0
while c < 1000 :
x_entrer = np.array(([3,2,0,1,2,2,2,3,0,2,2,1,3,0,2,4,6,0,2,4,4], [3,0,2,2,1,2,1,1,3,2,1,2,3,1,1,2,2,6,4,2,4], [2,2,1,2,2,1,1,4,0,2,3,0,1,1,3,2,8,0,4,6,0], [2,2,1,3,2,0,1,2,2,2,3,0,1,3,1,2,4,4,0,6,4], [1,3,1,1,1,3,3,1,1,0,2,3,2,1,2,6,2,2,6,4,0], [1,0,4,2,1,2,0,1,4,2,1,2,1,0,4,0,2,8,4,2,4], [1,2,2,3,1,1,0,2,3,2,1,2,1,1,3,0,4,6,4,2,4], [2,3,0,2,1,2,0,4,1,1,1,3,3,2,0,0,8,2,6,2,2], [1,2,2,2,0,3,2,2,1,3,0,2,0,1,4,4,4,2,4,0,6], [3,0,2,0,0,5,4,1,0,0,0,5,3,2,0,8,2,0,10,0,0], [3,2,0,3,0,2,3,1,1,0,2,3,1,2,2,6,2,2,6,4,0]), dtype=float)
y = np.array(([0], [1], [1], [0.5], [0], [0.5], [1], [0.5], [1], [0]), dtype=float)
x_entrer = x_entrer/np.amax(x_entrer, axis=0)
X = np.split(x_entrer, [10])[0]
xPrediction = np.split(x_entrer, [10])[1]
class Neural_Network(object):
def __init__(self):
self.inputSize = 21
self.outputSize = 1
self.hiddenSize = 22
self.W1 = np.random.randn(self.inputSize, self.hiddenSize)
self.W2 = np.random.randn(self.hiddenSize, self.outputSize)
def forward(self, X):
self.z = np.dot(X, self.W1)
self.z2 = self.sigmoid(self.z)
self.z3 = np.dot(self.z2, self.W2)
o = self.sigmoid(self.z3)
return o
def sigmoid(self, s):
return 1/(1+np.exp(-s))
def sigmoidPrime(self, s):
return s * (1 - s)
def backward(self, X, y, o):
self.o_error = y - o
self.o_delta = self.o_error*self.sigmoidPrime(o)
self.z2_error = self.o_delta.dot(self.W2.T)
self.z2_delta = self.z2_error*self.sigmoidPrime(self.z2)
self.W1 += X.T.dot(self.z2_delta)
self.W2 += self.z2.T.dot(self.o_delta)
def train(self, X, y):
def predict(self):
print("")
if(self.forward(xPrediction) < (1/3)):
print("\033[32mVictoire de l'équipe à domicile ! \033[0m\n")
#compteur victoiredom
elif(self.forward(xPrediction) > (2/3)):
print("\033[31mVictoire de l'équipe à l'extérieur ! \033[0m\n")#<-- ici
#compteur victoireextérieur
else :
print("\033[33mMatch nul ! \033[0m\n")#<-- et ici
#compteur matchnul
NN = Neural_Network()
for i in range(1000):
NN.train(X,y)
NN.predict()
c=c+1