yujiroのプログラミング

勉強内容をアウトプットし、サボらないようにする為のブログ

<DAY69>Ruby基礎問題を解いてみた

\ Follow me!! /

f:id:yujiro0320:20190415152250p:plain

学習状況

●学習日数 69日 

●学習時間(本日) 3.0時間

●累計学習時間 189.0時間

●一日あたりの平均学習時間 2.74時間 

この記事のまとめ

わかるとコード書けるは全然違います。

動作させたいお題に対して、それをプログラミング言語で落とし込む事が出来るかが重要。 綺麗かどうかはおいておき、動くかどうかが重要である。  

問題その1。コード書けるかどうか試せる。

問題その2。有名なじゃんけん問題。

 

問題その1

お題:

1〜100の数字を連続で出力する。

ただし、

8の倍数のときは aaaを表示する。

5の倍数のときはbbbを表示する。

5も8も同じ倍数で被るときはcccを表示する。

 

 num = 1
 while (num <= 100) do
  if (num % 40) == 0
   puts "ccc"
  elsif (num % 8) == 0
    puts "bbb"
  elsif (num % 3) == 0
    puts "aaa" 
  else
    puts num
  end
  num = num + 1
  end

実行結果

1
2
aaa
4
5
aaa
7
bbb
aaa
10
11
aaa
13
14
aaa
bbb
17
以下飛ばす

 #問題その2

お題:

プログラムとじゃんけんができるコードを記入して下さい。 じゃんけんの結果は一定ではないようにする事 勝ち負けが着くまで動作する事


def janken
  puts "最初はぐーじゃんけん、、、"
  puts "[0]:グー"
  puts "[1]:チョキ"
  puts "[2]:パー"
  player_hund = gets.to_i
  program_hund = rand(2)
  hund = ["グー","チョキ","パー"]
puts "あなたの手は#{hund[player_hund]}、プログラムの手は#{hund[program_hund]}"
  if player_hund == program_hund
  puts "アイコなのでもう一回!"
  janken
  elsif (player_hund == 0 && program_hund == 1) || (player_hund == 0 && program_hund == 1) || (player_hund == 0 && program_hund == 1)
  puts "あなたの勝ちです。"
  else
  puts "あなたの負けです。"
  end
end

janken