jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 Non il reste une erreur et je pense qu'elle ce situe ici # Calcule le nb de defaites E echelons en-dessous def nbInf( myClassement, defaites, E ): global classementNumerique nb = 0 for i in defaites: if( E >= 0 ) : if( classementNumerique[ i[0] ] == ( classementNumerique[ myClassement ] - E ) ): nb = nb+1 else: if( classementNumerique[ i[0] ] <= ( classementNumerique[ myClassement ] - 2 ) ): nb = nb+1 return nb Car dans ton else tu ne soustraits pas les défaites par wo. Tu considère que tout autre défaite qu'à échelon -1 est une défaite significative... Citer
K-mille Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 Non il reste une erreur et je pense qu'elle ce situe ici # Calcule le nb de defaites E echelons en-dessousdef nbInf( myClassement, defaites, E ): global classementNumerique nb = 0 for i in defaites: if( E >= 0 ) : if( classementNumerique[ i[0] ] == ( classementNumerique[ myClassement ] - E ) ): nb = nb+1 else: if( classementNumerique[ i[0] ] <= ( classementNumerique[ myClassement ] - 2 ) ): nb = nb+1 return nb Car dans ton else tu ne soustraits pas les défaites par wo. Tu considère que tout autre défaite qu'à échelon -1 est une défaite significative...une défaite significative insère un "S", qui est transcrit dans le classement "numérique" par -1. Donc quand tu calcules le G (appel de la fonction nbInf avec -1 comme dernier paramètre donc on passe dans l'alternative) ça compte chaque WO "significatif" (à partir du 3eme) dans le G car -1 est forcément inférieur.Quand on appelle nbInf avec 1 comme dernier paramètre (calcul du I) on ne peut pas entrer dedans car cela voudrait dire que classementNumerique[ myClassement ] vaut 0, donc classement proposé de NC, et on s'en fout du maintien à NC J'ai vérifié le calcul en affichant la valeur du V, du E, du I et du G, c'est correct.Bon je vais faire autrement si ce n'est pas clair.Edit : j'ai surtout ajouté l'affichage du V, du E, du I et du G. Citer
jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 J'ai eu la même idée d'afficher les E I et G L'erreur est dans le calcul ci-dessous en modifiant comme ci-dessous # calcule le V - E - 2I - 5G def VE2I5G( classement, victoires, defaites ): v = len( victoires ) e = nbInf( classement, defaites, 0 ) i = nbInf( classement, defaites, 1 ) g = nbInf( classement, defaites, -1 ) print "E:", e, "I:" , i, "G:", g return ( v - e - 2*i - 5*g ) Le G est faut car il compte les 2 défaites par wo Il faudrait mieux faire le calcul pour G= somme des défaites + détaite par wo (si <=3) -e -i Citer
K-mille Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 Heu les défaites par WO comptent dans le bilan hein...Si tu n'as que 2 défaites par WO (comme c'est ton cas) tu n'as pas d'ajout de défaites significatives, mais si elles sont à 2 échelons en-dessous, elles comptent dans le G.Dans ton G à 30 j'ai : ['30/2', '30/2', '30/2', '30/5', '30/5', '40']Les WO était les défaites à 40 et à 30/5.Par contre effectivement dans le E et le I il ne faut pas les compter (je corrige même si ça n'affecte pas ton cas)Edit : heu le mémo FFT est ambigu :- V = nombre de victoires (victoires par w.o. comprises) ;- E = nombre de défaites à échelon égal (défaites par w.o. non comprises) ;- I = nombre de défaites à un échelon inférieur (défaites par w.o. non comprises) ;- G = nombre de défaites à deux échelons inférieurs et plus, et par w.o. à partir du 3e.Du coup dans le G je compte- tous les WO + les défaites significatives insérées- ou seulement les défaites insérées ?Je vais poser la question dasn un topic sur le calcul Citer
jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 J'ai corrigé (en tout cas ça règle mon problème) # calcule le V - E - 2I - 5G def VE2I5G( classement, victoires, defaites ): n = nbWO ( defaites ) v = len( victoires ) e = nbInf( classement, defaites, 0 ) i = nbInf( classement, defaites, 1 ) g = nbInf( classement, defaites, -1 )-n print "E : ", e, " I: " , i, " G : ", g return ( v - e - 2*i - 5*g ) Edit: En fait il faut encore rajouter la condition de n<=3 enfin je ne sais pas trop car ça doit être pris en compte dans ton S Citer
jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 Heu les défaites par WO comptent dans le bilan hein... Si tu n'as que 2 défaites par WO (comme c'est ton cas) tu n'as pas d'ajout de défaites significatives, mais si elles sont à 2 échelons en-dessous, elles comptent dans le G. Dans ton G à 30 j'ai : ['30/2', '30/2', '30/2', '30/5', '30/5', '40'] Les WO était les défaites à 40 et à 30/5. Par contre effectivement dans le E et le I il ne faut pas les compter (je corrige même si ça n'affecte pas ton cas) Edit : heu le mémo FFT est ambigu : - V = nombre de victoires (victoires par w.o. comprises) ; - E = nombre de défaites à échelon égal (défaites par w.o. non comprises) ; - I = nombre de défaites à un échelon inférieur (défaites par w.o. non comprises) ; - G = nombre de défaites à deux échelons inférieurs et plus, et par w.o. à partir du 3e. Du coup dans le G je compte - tous les WO + les défaites significatives insérées - ou seulement les défaites insérées ? Les wo ne comptent pas si inférieurs ou égal à 3 donc juste les défaites significatives insérées Je vais poser la question dasn un topic sur le calcul Citer
K-mille Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 ok, j'ai poussé un correctif.C'est marrant, dans le V-E-2I-5G on compte les WO dans les victoires et peu dans les défaites. On fait donc tout pour le maximiser (sauf pour ceux qui en ont trop). Alors que dans le calcul des points, on ne les compte pas dans les victoires...Grumms, du coup tu as le résultat auquel tu t'attendais ? Citer
jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 A quel endroit tu retires les wo? Je ne vois pas. Je n'y connais rien mais j'essaye de comprendre Citer
K-mille Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 if not i[1] or i[0] == "S": # exclure les WO sauf à partir du 3eme(et je viens de rajouter une lgine qui avait disparu, bizarrement ça aurait dû me mettre un message d'erreur sur l'indentation...) Citer
jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 if not i[1] or i[0] == "S": # exclure les WO sauf à partir du 3eme (et je viens de rajouter une lgine qui avait disparu, bizarrement ça aurait dû me mettre un message d'erreur sur l'indentation...) Ah oui c'est clair... merci! En gros, si nous ne sommes pas dans le cas d'une pénalité on additionne le nb de match perdus. C'est ça? Citer
K-mille Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 Ah oui c'est clair... merci!En gros, si nous ne sommes pas dans le cas d'une pénalité on additionne le nb de match perdus. C'est ça?Si c'est une pénalité, il y a un 'S', qui est forcément "plus de 2 échelons en-dessous"Ça compte le nombre de défaites à échelon voulu (égal, à l'échelon inférieur, etc) en ne comptant pas les WO, sauf ceux qui sont marqués 'S' dans le cas du calcul du G Citer
jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 Si c'est une pénalité, il y a un 'S', qui est forcément "plus de 2 échelons en-dessous" Ça compte le nombre de défaites à échelon voulu (égal, à l'échelon inférieur, etc) en ne comptant pas les WO, sauf ceux qui sont marqués 'S' dans le cas du calcul du G oui merci c'est ce que j'avais compris Citer
K-mille Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 pffff il y a plein de règles dans le calcul du classement mine de rien.Déjà l'an dernier j'ai dû faire une grosse modif pour différencier le classement calculé et le classement harmonisé des adversaires dans le calcul Citer
jeanfils Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 Oui il faut espérer qu'ils ne changent pas de si tôt Citer
K-mille Posté(e) le 17 août 2015 Signaler Posté(e) le 17 août 2015 tu vas voir que si ça se trouve dans un an on va encore trouver un détail d'une règle que je ne prends pas en compte Citer
arnaud44 Posté(e) le 25 août 2015 Signaler Posté(e) le 25 août 2015 Hello K-Mille, Je viens de tester ton logiciel, premièrement merci pour l'ensemble de ton travail ! J'ai été surpris de voir mon classement affiché à la fin. Il prend en compte le palmarès de l'année passée et mon classement de cette année, comment puis-je faire pour passer en paramètre l'année en cours ? Merci par avance, Arnaud EDIT : J'ai trouvé dans le code d'ou venait le problème, dans le fichier palmares.py il y avait "2014" de renseigné lors de l'appel de la fonction getPalma dans la fonction ClassementJoueur. Citer
K-mille Posté(e) le 25 août 2015 Signaler Posté(e) le 25 août 2015 EDIT : J'ai trouvé dans le code d'ou venait le problème, dans le fichier palmares.py il y avait "2014" de renseigné lors de l'appel de la fonction getPalma dans la fonction ClassementJoueur.Uh ? Ligne 312 :https://github.com/coti/classement/blob/master/palmares.py#L312V, D = getPalma( 2015, id, opener ) Citer
arnaud44 Posté(e) le 27 août 2015 Signaler Posté(e) le 27 août 2015 Effectivement étrange, pourtant j'ai bien DL le zip du repo Github... Bon le principal est que cela fonctionne correctement Merci pour ton travail K-Mille Citer
K-mille Posté(e) le 28 août 2015 Signaler Posté(e) le 28 août 2015 Combien de comptes bloqués on aura cette année ? Citer
marie Posté(e) le 28 août 2015 Signaler Posté(e) le 28 août 2015 J'ai hésité à le faire tourner hier pour une jeune joueuse qu'entraîne notre DE mais j'ai trop peur d'être bloquée ... Citer
K-mille Posté(e) le 28 août 2015 Signaler Posté(e) le 28 août 2015 Vu le nombre de fois où Jeanfils l'a fait tourner à profondeur 3 sur son palmarès énorme, je pense que tu peux y aller quand même Citer
marie Posté(e) le 28 août 2015 Signaler Posté(e) le 28 août 2015 Je vais attendre courant septembre et je testerai alors. Après, avec des numérotées et des étrangères NC, je ne sais pas trop comment ca marche en réel. Citer
jeanfils Posté(e) le 29 août 2015 Signaler Posté(e) le 29 août 2015 Vu le nombre de fois où Jeanfils l'a fait tourner à profondeur 3 sur son palmarès énorme, je pense que tu peux y aller quand même C'est clair, j'ai du faire tourner une trentaine de fois... des fois 3 à 4 fois par jour. Citer
Harrygold Posté(e) le 1 septembre 2015 Signaler Posté(e) le 1 septembre 2015 Hello, je peux passer un numero de licence en mp a quelqu'un ? Merci par avance! Citer
Jolitorax Posté(e) le 4 septembre 2015 Signaler Posté(e) le 4 septembre 2015 Bonjour Question bête, quand la moulinette a fini, la page après activation de Palmares.py se ferme sans qu'on ait pu voir le résultat. Celui-ci est enregistré qq part ? Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.