読者です 読者をやめる 読者になる 読者になる

Sinatraのあらかると

記録することで、環境構築で悩まない。

課題の1例です。

問題をみていて、たとえばサイコロを4回転がして出た目とその合計を示すとしたら…と考えて書いてみました。


# -*- coding: utf-8 -*-

x = Random.rand(7)
y = Random.rand(7)
z = Random.rand(7)
a = Random.rand(7)
puts "サイコロを4回転がして出た目は、"
print [x,y,z,a]
puts ""
puts "サイコロの出た目の合計は、"
print x + y + z + a
puts "です。"


出力結果


サイコロを4回転がして出た目は、
[0, 3, 1, 4]
サイコロの出た目の合計は、
8です。


randやsrandを使ってもいいんですが、疑似乱数でもあるので使用していません。使っても動きます。

よい休日を過ごしました。

2011/06/06
もう少しかっこよく修正してみました。


# -*- coding: utf-8 -*-

def sum(a,b,c,d)
k = a + b + c + d
return k
end

a = Random.rand(6) + 1
b = Random.rand(6) + 1
c = Random.rand(6) + 1
d = Random.rand(6) + 1

n = sum(a,b,c,d)

puts "サイコロを4回転がして出た目は、"
puts "最初に出た目は#{a.round}です。"
puts "次に出た目は#{b.round}です。"
puts "3回目に出た目は#{c.round}です。"
puts "最後に出た目は#{d.round}です。"
puts "サイコロの出た目の合計は、#{n.round}です。"


出力結果


サイコロを4回転がして出た目は、
最初に出た目は5です。
次に出た目は3です。
3回目に出た目は4です。
最後に出た目は5です。
サイコロの出た目の合計は、17です。

修正後の方がかっこいい出力結果になってますね。
出る目は出力ごとに変わります。
0の目はでないように+1しました。

追記:実行環境はRuby1.9.2-p180です。
1.8.7だとRandomの部分でNameErrorが出力されます。

Copyright © 2007-2017 Takayuki Kamiyama. All Rights Reserved.