勝手に答え合わせ(MTでPerlを学ぶ・11について)

  • Posted by: maRk
  • myown
  • このエントリーを含むはてなブックマーク
  • あとで読む

The blog of H.Fjimotoさまにて連載されています、「MTでPerlを学ぶ」記事のその11で出題されていた問題の解答がでていましたので、コチラで勝手に答え合わせしてみます

元の記事はこちら

解答は下記記事にて記載されていました。

「MTでPerlを学ぶ(その11)」の問題の解答

5月31日の「MTでPerlを学ぶ(その11・for文による繰り返し)」で出した問題の回答をお送りします。

負の値の乱数をつくるところでいきなり躓いててorz 。配列とかでランダムにに抽出とかするのかなと思ってました。

カンニングしてしまいましたけど(参考:Perl入門~サンプルコードによるPerl入門~)、以下がワタくシの解答でした。


use strict;
use warnings;
my @cards = qw(-3 -2 -1 0 1 2 3);
my $cur = 0;

print "<ul>\n";

foreach my $i ( 1 .. 10 ){
my $x = $cards[int(rand(@cards))];
$cur += $x;
    if ( $x < 0 ){
          print "<li>$i回目 :",$x,"戻る :";
         }
    elsif( $x > 0 ){
          print "<li>$i回目 :",$x,"進む :";
          }
    else{
      print "<li>$i回目  :そのまま :";
    }

print " 現在位置";

    if ( $cur > 0 ){
          print " 前に",$cur,"</li>\n";
          }
    elsif ( $cur < 0 ){
          print " 後ろに",$cur,"</li>\n";
          }
    else {
      print " スタート位置</li>\n";
    }
}
print "</ul>\n";

出力結果です。

<ul>
<li>1回目 :1進む : 現在位置 前に1</li>
<li>2回目  :そのまま : 現在位置 前に1</li>
<li>3回目 :-3戻る : 現在位置 後ろに-2</li>
<li>4回目 :2進む : 現在位置 スタート位置</li>
<li>5回目 :2進む : 現在位置 前に2</li>
<li>6回目  :そのまま : 現在位置 前に2</li>
<li>7回目 :3進む : 現在位置 前に5</li>
<li>8回目 :-3戻る : 現在位置 前に2</li>
<li>9回目 :-2戻る : 現在位置 スタート位置</li>
<li>10回目 :-2戻る : 現在位置 後ろに-2</li>
</ul>

この「MTでPerlを学ぶ」のシリーズですが、11回目から、クイズが登場して何か本格的な講座という感じで次回も楽しみです。以上です

Comments:0

コメントをどうぞ。書き込む場所が不明な場合やサイトオーナーへのコンタクトは、GuestBookまでお気軽にどうぞ

Comment Form
Search

Powered by 暴想 & Dakiny&Digiclo

Feeds
Tags

All Tags

meta
Others

あわせて読みたい

全文配信同盟

my ブログネットワーク

Elsewhere

Action Streams

logo

Mozilla Firefox ブラウザ無料ダウンロード

TypePad AntiSpam