超入門者向けのRubyサンプルコード記事です。問題と、解答例となるサンプルコードをセットに公開しています。難しい用語の解説は控えめに、まずは動かしてみたい人向けのコンテンツです。
はじめに
どうもMizokeiです。Ruby超入門シリーズです。本記事の実行環境は以下です。
実行環境
- Windows10 64bit
- Ruby 2.5
問題と解答例をセットに公開
問題と解答例としてサンプルコードをセットに公開します。サンプルコードを、コピペして実行し動作を確認してみましょう。
とりあえず、動かしてみることが目的なので、専門用語などの難しい話は、別途参照書などを御覧ください。
問題
整数の乱数を用いてサイコロおみくじを行うプログラムを作成せよ。ただし、乱数およびサイコロは1から6の間の数値を表示させるものとする。
また今回は、何度も実行できるようにループの処理と入力の処理を組み合わせてコードを書け。
- プログラムの実行時、はじめに「サイコロを振りますか?」と表示させよ
- 続けて「はい or いいえ」と表示し、入力処理を行い、はい以外の場合はプログラムを終了せよ
- さらに続けて乱数の処理を行い「○の目がでました。おみくじは・・・?」と表示させよ
上記に加え、それぞの目に応じて、おみくじの結果を表示させます。
- 1の目の場合:「大吉!素晴らしい!!」と表示せよ
- 2か3の目の場合:「中吉!イイね。」と表示せよ
- 4の目の場合:「小吉。無難だ。」と表示せよ
- 5の目の場合:「末吉。」と表示せよ
- 6の目の場合:「大凶!!!珍しい!」と表示せよ
※○は乱数の結果である数値を出力するものとする
※いいえ、以外の入力でもプログラムを終了させてよい
出力結果
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
サイコロを振りますか? はい or いいえ はい 4の目が出ました。おみくじは・・・? 小吉。無難だ。 サイコロを振りますか? はい or いいえ はい 1の目が出ました。おみくじは・・・? 大吉!素晴らしい!! サイコロを振りますか? はい or いいえ いいえ |
解答例 サンプルコード
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
while 1 do #アナウンス puts 'サイコロを振りますか?' puts 'はい or いいえ' #返事を入力する(chompで改行文字を取る) response = gets.chomp if response != 'はい' then break end #1から6の乱数を表示する dice = Random.rand(1..6) #出力 puts "#{dice}" + 'の目が出ました。おみくじは・・・?' destiny = '' if dice == 1 then destiny = '大吉!素晴らしい!!' elsif dice == 2 or dice == 3 then destiny = '中吉!イイね。' elsif dice == 4 then destiny = '小吉。無難だ。' elsif dice == 5 then destiny = '末吉。' elsif dice == 6 then destiny = '大凶!!!珍しい!' end #出力 puts destiny end |
関連記事
【Ruby超入門】クラスを作成してみよう
【Ruby超入門】値の交換を実装してみよう
【Ruby超入門】ヒープソートを実装しよう【アルゴリズム】