okaneメソッドは金額(数値)を戻すようにします。
ruby
1def times (count)
2 goukei = 0
3 count.times do
4
5def okane(prob,cost)
6 times=0
7
8 while true
9 times+=1
10
11 if rand(prob)==0
12 return times*cost
13 else
14 #puts("はずれ!")
15 end
16 end
17end
18
19 kingaku = okane(1000,300)
20 puts("掛かった金額は#{kingaku}円")
21 goukei += kingaku
22 end
23 puts("平均金額は#{goukei/count}円")
24
25end
26
27
28times(5)
29
個人的にはメソッド内にメソッドを作成するよりは、以下のようにした方が好みです。
ruby
1def times (count)
2 goukei = 0
3 count.times do
4 kingaku = okane(1000,300)
5 puts("掛かった金額は#{kingaku}円")
6 goukei += kingaku
7 end
8 puts("平均金額は#{goukei/count}円")
9end
10
11def okane(prob,cost)
12 times=0
13
14 while true
15 times+=1
16
17 if rand(prob)==0
18 return times*cost
19 else
20 #puts("はずれ!")
21 end
22 end
23end
24
25times(5)
退会済みユーザー
2020/10/30 06:30