Last active
December 27, 2015 00:59
-
-
Save note103/7241971 to your computer and use it in GitHub Desktop.
Perl入学式in東京vol.3の復習問題「score.pl」より 第3問『五段階評価』。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
use strict; | |
use warnings; | |
use utf8; | |
binmode STDOUT, ":utf8"; | |
#ここからしばらく素材データ。 | |
my $papix = { | |
name => 'papix', | |
affiliation => 'namba.pm', | |
perl => 60, | |
python => 50, | |
ruby => 50, | |
php => 80, | |
binary => 30, | |
}; | |
my $boolfool = { | |
name => 'boolfool', | |
affiliation => 'namba.pm', | |
perl => 40, | |
python => 10, | |
ruby => 20, | |
php => 30, | |
binary => 10, | |
}; | |
my $moznion = { | |
name => 'moznion', | |
affiliation => 'hachioji.pm', | |
perl => 100, | |
python => 70, | |
ruby => 80, | |
php => 50, | |
binary => 50, | |
}; | |
my $binarian = { | |
name => 'binarian', | |
affiliation => 'hachioji.pm', | |
perl => 10, | |
python => 11, | |
ruby => 1, | |
php => 100, | |
binary => 100, | |
}; | |
my $uzulla = { | |
name => 'uzulla', | |
affiliation => 'hachioji.pm', | |
perl => 1, | |
python => 0.01, | |
ruby => 0.5, | |
php => 4, | |
binary => 0.01, | |
}; | |
#ここから回答。 | |
my @people = ($papix, $boolfool, $moznion, $binarian, $uzulla); | |
my @lang = qw(perl python ruby php binary); | |
for my $people(@people) { | |
print "$people->{name}: \n"; | |
for my $lang (@lang) { | |
my $num = $people->{$lang}; | |
my $rate; | |
if ($num == 100) { | |
$rate = "★★★★★"; | |
} elsif ($num <= 99 && $num >= 80) { | |
$rate = "★★★★"; | |
} elsif ($num <= 79 && $num >= 60) { | |
$rate = "★★★"; | |
} elsif ($num <= 59 && $num >= 40) { | |
$rate = "★★"; | |
} elsif ($num <= 39 && $num >= 20) { | |
$rate = "★"; | |
} else { | |
$rate = ""; | |
} | |
print " $lang: $rate\n"; | |
} | |
} |
修正しました! 動作も問題ありませんでした。
インデントは最後に崩れを直しているときに、その部分で少しどうすればいいのか迷ったのですが、ご指摘に沿ってやってみたら随分すっきりしました。他のファイルも同様の観点で見なおしてみたいと思います。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ありがとうございます!!
ご指摘大変ありがたいです!!
のちほど確認して反映したいと思いますが、パッと想像してみるだけでも本当にそうだと思いました。
(改行が繰り返されているなんて、まったく気づいていませんでした)