Aller au contenu
Forums Tennis-Classim
bhamp0

Outil de récupération du classement futur

Recommended Posts

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...

Partager ce message


Lien à poster
Partager sur d’autres sites

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...

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 :D

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

A quel endroit tu retires les wo? Je ne vois pas.

Je n'y connais rien mais j'essaye de comprendre :stuart:

Partager ce message


Lien à poster
Partager sur d’autres sites

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...)

Partager ce message


Lien à poster
Partager sur d’autres sites

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?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :w00t:

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui il faut espérer qu'ils ne changent pas de si tôt :w00t:

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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#L312

V, D = getPalma( 2015, id, opener )

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Combien de comptes bloqués on aura cette année ? :D

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ...

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

C'est clair, j'ai du faire tourner une trentaine de fois... des fois 3 à 4 fois par jour.

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello, je peux passer un numero de licence en mp a quelqu'un ?

Merci par avance!

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×