質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

1回答

1118閲覧

Rubyクイズアプリで一部エラーが出ていてどうすればいいかわからないです。

S.K1994

総合スコア34

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

1グッド

1クリップ

投稿2018/06/10 16:19

編集2018/06/11 03:07
questions =["red","blue","pink","white","black"] sentakushi =[] sentakushi [0] = ["赤","青","黄色"] sentakushi [1] = ["青","黄色","ピンク"] sentakushi [2] = ["白","黄色","ピンク"] sentakushi [3] = ["赤","青","白"] sentakushi [4] = ["黒","青","赤"] answer = [1,1,3,3,1] count = 0 hitCount = 0 for i in 1..5 do puts "第#{i}問" puts "#{questions[i-1]}は日本語でなに?(終了はeを入力)" for a in 1..3 do puts "#{a} #{sentakushi[i-1][a-1]}" end input = gets.chomp if answer[i-1]==input.to_i hitCount += 1 puts "正解です" elsif ("e"==input || "E"==input) #Ruby2.4以降は置き換え可能 elsif "e".casecmp?(input.to_i) break; elsif answer[i-1] !=input.to_i puts input.to_i puts "残念、不正解です" puts "正解は...#{answer[i-1]} #{sentakushi[i-1][answer[i-1]-1]}" end puts "" #改行 count += 1 #問題の前に配置すると途中終了も不正解として計算 end puts "正解率:#{(hitCount * 100) / count}%" 正解数、正解率の表示も変わらずに、問1のエラーだけ直したいです。 コード

一問目にeを押すとエラーが出てしまいます
どのようにすればエラーが出ずに動作しますか?

コードも記述していただけるとありがたいです。

エラーはこんな感じです。

第1問 redは日本語でなに?(終了はeを入力) 1 赤 2 青 3 黄色 e first.rb:35:in `/': divided by 0 (ZeroDivisionError) from first.rb:35:in `<main>' コード
DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y-doi

2018/06/10 19:52

出ているエラー文も記述してください
guest

回答1

0

puts "正解率:#{(hitCount * 100) / count}%"

問題はここです。

1問目つまり、count = 0の時点で抜けてくると0除算になります。

手っ取り早いのは1問も回答していない場合は正解率を出さない事でしょうか

ruby

1puts "正解率:#{(hitCount * 100) / count}%" unless count.zero?

投稿2018/06/10 23:11

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問