in reply to Re: first perl example from perl book
in thread first perl example from perl book
I also tried this for just education.(which btw is not the same solution and answer).#!/usr/bin/perl -w use strict; my %grades; while (<DATA>) { chomp; my($student,$grade) = split (" ",$_); $grades{$student} .= $grade . " "; #$grades{$student} = $grade; print "\$grades{$student} is $grades{$student}\n"; } for (sort keys %grades) { my $scores = 0; my $total = 0; my @grades = split(" ", $grades{$_}); for (@grades) { $total += $_; $scores++; } my $average = $total / $scores; print "$_: $grades{$_}\tAverage: $average\n"; } __END__ lee 90 lee 100 kim 90 kim 90 ./././perl.score $grades{lee} is 90 $grades{lee} is 90 100 $grades{kim} is 90 $grades{kim} is 90 90 kim: 90 90 Average: 90 lee: 90 100 Average: 95 so $grades{$student} .= $grade . " "; is more like $grades
#!/usr/bin/perl -w use strict; use diagnostics; my %grades; my %student_n; while (<DATA>) { chomp; my($student,$grade) = split (" ",$_); $grades{$student} += $grade; $student_n{$student}++; } for (sort keys %grades) { my $avg = $grades{$_} / $student_n{$_}; print "$_ average of $student_n{$_} exams are $avg\n"; } __END__ lee 90 lee 100 kim 90 kim 90 ~ ./././././perl.score_copy kim average of 2 exams are 90 lee average of 2 exams are 95
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: first perl example from perl book
by cdarke (Prior) on Jan 15, 2008 at 07:47 UTC | |
|
Re^3: first perl example from perl book
by Gangabass (Vicar) on Jan 15, 2008 at 07:46 UTC |