Bonjour,
voilà un problème qui pour moi est complexe, j'arrive à résoudre une partie mais le reste j'ai du mal.
Je m'explique:
J'ai un fichier "finlande1_oa_derniers_matchs.txt"(dans le spoiler) que j'ai "spliter" dans le tableau @TdT1. Ce que je voudrais faire c'est récupérer la somme des deuxièmes champs des n premiers matchs de chaque équipes. Par exemple pour n=5, je voudrais que mon script me construise automatiquement le tableau @goals_for_home =(12, 4, 8, 9, 10, 1, 3, 12, 8, 7, 19, 7), où 12 est la somme des 2ème champs pour les 5 premières lignes où apparait HJK, ensuite 4 est la somme des 2ème champs pour les 5 premières lignes où apparait Haka .... etc. J'aimerais également que @goals_for_home soit contruit si jamais le fichier "finlande1_oa_derniers_matchs.txt"est de la forme (en fait j'aimerais que au plus 5 matchs soient pris en compte) suivante:
HJK ;2;0;JJK Jyv‰skyl‰ ;2012-08-18
HJK ;3;3;VPS ;2012-08-04
HJK ;1;0;Haka ;2012-07-21
Haka ;0;3;Lahti ;2012-08-25
Haka ;0;2;Inter Turku ;2012-08-05
Honka ;1;2;VPS ;2012-08-27
Honka ;2;2;Haka ;2012-08-12
Honka ;1;0;HJK ;2012-07-28
Inter Turku ;2;0;Lahti ;2012-05-30
Inter Turku ;2;0;VPS ;2012-09-03
JJK Jyv‰skyl‰ ;5;0;Haka ;2012-09-02
JJK Jyv‰skyl‰ ;0;3;MyPa ;2012-08-11
Jaro ;0;3;MyPa ;2012-09-02
Jaro ;0;1;TPS ;2012-08-19
Jaro ;0;3;JJK Jyv‰skyl‰ ;2012-08-05
KuPS ;2;3;JJK Jyv‰skyl‰ ;2012-08-26
KuPS ;1;0;Lahti ;2012-08-18
KuPS ;0;2;Honka ;2012-08-05
Lahti ;3;2;Honka ;2012-08-31
Lahti ;3;0;HJK ;2012-08-12
Mariehamn ;2;0;KuPS ;2012-09-02
Mariehamn ;2;0;Jaro ;2012-08-11
Mariehamn ;3;3;JJK Jyv‰skyl‰ ;2012-07-22
MyPa ;1;1;TPS ;2012-08-26
MyPa ;2;1;Mariehamn ;2012-08-20
TPS ;9;2;Haka ;2012-08-22
TPS ;1;2;HJK ;2012-09-02
VPS ;2;1;Haka ;2012-08-19
VPS ;0;1;KuPS ;2012-08-12
VPS ;2;0;MyPa ;2012-07-29
Fichier "finlande1_oa_derniers_matchs.txt"
Spoiler :
HJK ;5;1;Mariehamn ;2012-08-26
HJK ;2;0;JJK Jyv‰skyl‰ ;2012-08-18
HJK ;3;3;VPS ;2012-08-04
HJK ;1;0;Haka ;2012-07-21
HJK ;1;1;MyPa ;2012-07-02
HJK ;0;0;TPS ;2012-06-25
HJK ;2;0;Lahti ;2012-05-27
HJK ;3;0;Honka ;2012-05-21
HJK ;2;0;KuPS ;2012-05-12
HJK ;2;1;Inter Turku ;2012-05-06
HJK ;4;1;Jaro ;2012-04-23
HJK ;3;1;Mariehamn ;2012-04-15
Haka ;0;3;Lahti ;2012-08-25
Haka ;0;2;Inter Turku ;2012-08-05
Haka ;0;2;KuPS ;2012-07-29
Haka ;3;1;MyPa ;2012-07-15
Haka ;1;0;TPS ;2012-07-02
Haka ;3;1;JJK Jyv‰skyl‰ ;2012-06-25
Haka ;0;1;VPS ;2012-06-16
Haka ;2;1;Honka ;2012-05-27
Haka ;0;1;HJK ;2012-05-16
Haka ;4;1;Jaro ;2012-05-05
Haka ;0;2;Mariehamn ;2012-04-22
Honka ;1;2;VPS ;2012-08-27
Honka ;2;2;Haka ;2012-08-12
Honka ;1;0;HJK ;2012-07-28
Honka ;2;0;Jaro ;2012-07-15
Honka ;2;2;Mariehamn ;2012-07-03
Honka ;3;2;Lahti ;2012-06-25
Honka ;2;1;Inter Turku ;2012-06-16
Honka ;1;0;KuPS ;2012-05-24
Honka ;2;1;MyPa ;2012-05-16
Honka ;0;2;TPS ;2012-05-05
Honka ;0;2;JJK Jyv‰skyl‰ ;2012-04-22
Honka ;1;1;VPS ;2012-04-15
Inter Turku ;2;0;Lahti ;2012-05-30
Inter Turku ;2;0;VPS ;2012-09-03
Inter Turku ;3;1;Jaro ;2012-08-26
Inter Turku ;2;1;Honka ;2012-08-18
Inter Turku ;0;3;Mariehamn ;2012-07-30
Inter Turku ;3;2;JJK Jyv‰skyl‰ ;2012-07-15
Inter Turku ;2;0;HJK ;2012-07-07
Inter Turku ;1;1;VPS ;2012-06-25
Inter Turku ;1;1;Jaro ;2012-06-19
Inter Turku ;4;1;Haka ;2012-05-24
Inter Turku ;2;1;KuPS ;2012-05-16
Inter Turku ;2;1;JJK Jyv‰skyl‰ ;2012-05-12
Inter Turku ;2;0;MyPa ;2012-04-22
JJK Jyv‰skyl‰ ;5;0;Haka ;2012-09-02
JJK Jyv‰skyl‰ ;0;3;MyPa ;2012-08-11
JJK Jyv‰skyl‰ ;2;1;TPS ;2012-07-29
JJK Jyv‰skyl‰ ;3;1;Lahti ;2012-07-08
JJK Jyv‰skyl‰ ;0;1;Honka ;2012-06-28
JJK Jyv‰skyl‰ ;1;5;KuPS ;2012-06-11
JJK Jyv‰skyl‰ ;0;3;HJK ;2012-06-16
JJK Jyv‰skyl‰ ;1;1;Jaro ;2012-05-24
JJK Jyv‰skyl‰ ;5;2;Mariehamn ;2012-05-16
JJK Jyv‰skyl‰ ;2;1;Lahti ;2012-05-05
JJK Jyv‰skyl‰ ;0;2;VPS ;2012-04-30
JJK Jyv‰skyl‰ ;1;4;Haka ;2012-04-19
Jaro ;0;3;MyPa ;2012-09-02
Jaro ;0;1;TPS ;2012-08-19
Jaro ;0;3;JJK Jyv‰skyl‰ ;2012-08-05
Jaro ;0;0;VPS ;2012-07-21
Jaro ;1;0;Haka ;2012-07-07
Jaro ;2;2;HJK ;2012-06-28
Jaro ;1;0;MyPa ;2012-06-25
Jaro ;0;3;Mariehamn ;2012-05-27
Jaro ;0;2;Lahti ;2012-05-21
Jaro ;0;1;Honka ;2012-05-12
Jaro ;1;0;KuPS ;2012-04-29
Jaro ;0;1;Inter Turku ;2012-05-02
KuPS ;2;3;JJK Jyv‰skyl‰ ;2012-08-26
KuPS ;1;0;Lahti ;2012-08-18
KuPS ;0;2;Honka ;2012-08-05
KuPS ;0;6;Inter Turku ;2012-07-22
KuPS ;0;3;HJK ;2012-05-02
KuPS ;1;0;Jaro ;2012-07-02
KuPS ;2;0;Mariehamn ;2012-06-25
KuPS ;1;2;Lahti ;2012-06-17
KuPS ;0;3;VPS ;2012-05-27
KuPS ;3;0;Haka ;2012-05-21
KuPS ;1;2;MyPa ;2012-05-05
KuPS ;1;1;TPS ;2012-04-22
KuPS ;2;2;JJK Jyv‰skyl‰ ;2012-04-15
Lahti ;3;2;Honka ;2012-08-31
Lahti ;3;0;HJK ;2012-08-12
Lahti ;0;2;Jaro ;2012-07-29
Lahti ;2;0;Mariehamn ;2012-07-16
Lahti ;4;3;Inter Turku ;2012-07-02
Lahti ;1;0;VPS ;2012-06-28
Lahti ;0;1;Haka ;2012-06-20
Lahti ;0;0;MyPa ;2012-05-24
Lahti ;2;0;TPS ;2012-05-16
Lahti ;0;5;Inter Turku ;2012-04-29
Lahti ;2;1;Honka ;2012-04-18
Lahti ;1;0;Haka ;2012-04-15
Mariehamn ;2;0;KuPS ;2012-09-02
Mariehamn ;2;0;Jaro ;2012-08-11
Mariehamn ;3;3;JJK Jyv‰skyl‰ ;2012-07-22
Mariehamn ;0;0;VPS ;2012-07-07
Mariehamn ;1;0;Haka ;2012-06-28
Mariehamn ;2;0;HJK ;2012-06-20
Mariehamn ;0;0;MyPa ;2012-06-17
Mariehamn ;2;1;TPS ;2012-05-24
Mariehamn ;2;1;Inter Turku ;2012-05-21
Mariehamn ;2;0;Lahti ;2012-05-13
Mariehamn ;0;0;Honka ;2012-04-29
Mariehamn ;1;1;KuPS ;2012-04-19
MyPa ;1;1;TPS ;2012-08-26
MyPa ;2;1;Mariehamn ;2012-08-20
MyPa ;3;1;Lahti ;2012-08-04
MyPa ;0;0;Honka ;2012-07-22
MyPa ;1;1;KuPS ;2012-07-08
MyPa ;4;0;Inter Turku ;2012-06-28
MyPa ;0;1;JJK Jyv‰skyl‰ ;2012-05-27
MyPa ;1;0;VPS ;2012-05-21
MyPa ;3;1;Haka ;2012-05-12
MyPa ;1;0;HJK ;2012-04-29
MyPa ;2;0;Jaro ;2012-04-19
TPS ;9;2;Haka ;2012-08-22
TPS ;1;2;HJK ;2012-09-02
TPS ;4;1;Inter Turku ;2012-08-12
TPS ;1;1;Mariehamn ;2012-08-06
TPS ;4;0;Lahti ;2012-07-22
TPS ;2;1;Honka ;2012-07-09
TPS ;3;0;KuPS ;2012-06-28
TPS ;1;0;MyPa ;2012-06-20
TPS ;2;3;Jaro ;2012-06-16
TPS ;2;3;JJK Jyv‰skyl‰ ;2012-05-21
TPS ;1;0;VPS ;2012-05-13
TPS ;2;0;Haka ;2012-04-29
TPS ;3;1;HJK ;2012-04-19
TPS ;0;1;MyPa ;2012-04-15
VPS ;2;1;Haka ;2012-08-19
VPS ;0;1;KuPS ;2012-08-12
VPS ;2;0;MyPa ;2012-07-29
VPS ;1;3;TPS ;2012-07-14
VPS ;2;0;JJK Jyv‰skyl‰ ;2012-07-02
VPS ;2;0;Honka ;2012-06-20
VPS ;1;0;HJK ;2012-05-24
VPS ;1;1;Jaro ;2012-05-16
VPS ;1;2;Mariehamn ;2012-05-05
VPS ;2;1;Lahti ;2012-04-22
VPS ;0;2;Inter Turku ;2012-04-19 |
Voilà la partie de mon script essai.pl dans lequel j'utilise le tableau des équipes dans l'ordre alphabétique @OA = (HJK, Haka, Honka, Inter Turku, JJK Jyv‰skyl‰, Jaro, Kups, Lathi, Mariehamn, MyPa, TPS, VPS) pour comparaison et surtout pour classer toujours les équipes dans l'ordre alphabétique. LA variable $nb_eq est calculée plus haut dans mon programme, elle est ici égale à 12, c'est le nombre d'équipes du championnat. Quand je fais tourner mon programme ça me donne bien la somme voulue dans @goals_for_home sauf pour le dernier calcul où j'ai le message "Use of uninitialized value in concatenation (.) or string at essai.pl line 106", j'ai beau cherché je ne vois absolument pas pourquoi il ne veut pas calculer $goals_for_home[11] !?
Egalement pour le deuxième cas ou il y a moins de 5 matchs joués mon script ne fonctionne pas du tout et pareil en essayant de faire le chemin dans les boucles for je ne comprend pas qu'il me calcule rien, j'ai encore le message "Use of uninitialized value in concatenation (.) or string at essai.pl line 106".
Si un cerveau plus performant que le mien traine par là je veux bien qu'il m'aiguille.
Merci.
Code :
- # Je classe par ordre lexical(alphabetique) les valeurs du tableau @part dans le tableau @OA
- my @OA = sort @part;
- #Je crée un tableau multidimensionnel @TdT1 qui contient tous les champs du fichier Calcul_forces_forme/france1_oa_derniers_matchs.txt
- open(A, "finlande1_oa_derniers_matchs.txt" ) or die ("Erreur ouverture $nomfichier8\n" );
- my(@TdT1, @tmp1);
- while($ligne = <A> ) {
- @tmp1 = split(/;/, $ligne);
- push @TdT1, [ @tmp1];
- $nb_ligne++;
- }
- #Je crée le tableau @goals_for_home pour 5 matchs joués à domicile
- my @goals_for_home = ();
- my $l; my $stock;
- for($m=0; $m <= ($nb_eq-1); $m++) {
- my $goals_for_home = 0;
- my @stock = ();
- for($l=0; $l<=$nb_ligne-1; $l++) {
- if($TdT1[$l][0] eq $OA[$m]) {
- $stock = $l;
- push @stock, $stock;
- $goals_for_home += $TdT1[$l][1];
- if($l == $stock[0]+4) {
- push @goals_for_home, $goals_for_home;
- last;
- }
- else {
- next;
- }
- }
- }
- }
- for($m=0; $m<=$nb_eq-1; $m++) {
- print $OA[$m]."=".$goals_for_home[$m]."\n";
- }
|
Message édité par thales69 le 13-09-2012 à 16:04:57