前提・実現したいこと
配列に記述された、数値の平均を出したい
発生している問題
a+b+c = 300 で要素数は3つ。 300÷3は100 なはずなのに なぜか233になってしまう。
該当のソースコード
ruby
1books = ["a","b","c"] 2price_list = [a = 100, b = 100, c = 100] 3 4 books.each do |book| 5 end 6 price_list.each do |price| 7 end 8 price_average = a + b + c / price_list.length 9 10 puts books 11 puts price_list 12 puts price_average
試したこと
ruby
1books = ["a","b","c"] 2puts books 3price_list = [a = 100, b = 100, c = 100] 4price_list_length = [a = 100, b = 100, c = 100].length 5 6puts price_list 7puts price_list.length 8 9 books.each do |book| 10 end 11 price_list.each do |price| 12 end 13 14 price_average = a + b + c / price_list.length 15 16 puts price_list 17 puts books 18 puts price_average
上記のように配列や、each doのあとにputsを差し込んで
それぞれの値
それぞれの要素数
がちゃんと出力されているのかを確認しました。
該当のソースコードの出力結果が下記の通りとなってしまいます。
ruby
1a 2b 3c 4100 5100 6100 7233
本当は300/3で100になるはず?っと思ったんですが、なかなか思い通りになりませんでした。
lengthの使い方が悪いのでしょうか?
初心者な質問でして申し訳ございません。
最後までみていただきありがとうございます。
補足情報(FW/ツールのバージョンなど)
参考にしたWEBサイトさんです(lengthの使い方等)
https://www.sejuku.net/blog/14966
https://ref.xaio.jp/ruby/classes/array/length
https://qiita.com/motoki4917/items/ffc89d955e20b91d1014
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/13 10:03