【初心者向け】Fizzbuzzをメソッドを使用して解く
Fizzbuzzの問題を応用し、数字の横にFizzbuzzを表示させてみた。
条件
・1~100までを表示させる
・3は数字の3とその横にfizzと表示
・5は数字の5とその横にbuzzと表示
・15は数字の15とその横にfizzbuzzと表示
・それぞれfizz,buzz,fizzbuzzのメソッドを使用すること
擬似コードを書く
def fizzbuzz
#15と表示
#15の横にfizzbuzzと表示させる
end
def fizz
#3と表示
#3の横にfizzと表示させる
end
def buzz
#5と表示
#5の横にbuzzと表示させる
end
1~100までの繰り返し文
もし15で割って0なら
fizzbuzzメソッドへ
もし3で割って0なら
fizzメソッドへ
もし5で割って0なら
buzzメソッドへ
その他は
数字をそのまま表示
end
end
コーディングしていく
def fizzbuzz(num)
print num
num = "fizzbuzz"
puts ":#{num}"
end
def fizz(num)
print num
num = "fizz"
puts ":#{num}"
end
def buzz(num)
print num
num = "buzz"
puts ":#{num}"
end
(1..100).each do |num|
if num % 15 == 0
fizzbuzz(num)
elsif num % 3 == 0
fizz(num)
elsif num % 5 == 0
buzz(num)
else
puts num
end
end
ポイント
def fizzbuzz
#15と表示
#15の横にfizzbuzzと表示させる
end
def fizz
#3と表示
#3の横にfizzと表示させる
end
def buzz
#5と表示
#5の横にbuzzと表示させる
end
1~100までの繰り返し文
もし15で割って0なら
fizzbuzzメソッドへ
もし3で割って0なら
fizzメソッドへ
もし5で割って0なら
buzzメソッドへ
その他は
数字をそのまま表示
end
end
def fizzbuzz(num)
print num
num = "fizzbuzz"
puts ":#{num}"
end
def fizz(num)
print num
num = "fizz"
puts ":#{num}"
end
def buzz(num)
print num
num = "buzz"
puts ":#{num}"
end
(1..100).each do |num|
if num % 15 == 0
fizzbuzz(num)
elsif num % 3 == 0
fizz(num)
elsif num % 5 == 0
buzz(num)
else
puts num
end
end
ポイント
・引数のnumを除いてやってみると、Nameerrorが出ます。
・printは改行せずに表示してくれます。
・putsは改行します。
動作確認
1
2
3:fizz
4
5:buzz
6:fizz
7
8
9:fizz
10:buzz
11
12:fizz
13
14
15:fizzbuzz
16
17
18:fizz
19
20:buzz
21:fizz
22
23
24:fizz
25:buzz
26
27:fizz
28
29
30:fizzbuzz
31
32
33:fizz
34
35:buzz
36:fizz
37
38
39:fizz
40:buzz
41
42:fizz
43
44
45:fizzbuzz
46
47
48:fizz
49
50:buzz
51:fizz
52
53
54:fizz
55:buzz
56
57:fizz
58
59
60:fizzbuzz
61
62
63:fizz
64
65:buzz
66:fizz
67
68
69:fizz
70:buzz
71
72:fizz
73
74
75:fizzbuzz
76
77
78:fizz
79
80:buzz
81:fizz
82
83
84:fizz
85:buzz
86
87:fizz
88
89
90:fizzbuzz
91
92
93:fizz
94
95:buzz
96:fizz
97
98
99:fizz
100:buzz
1
2
3:fizz
4
5:buzz
6:fizz
7
8
9:fizz
10:buzz
11
12:fizz
13
14
15:fizzbuzz
16
17
18:fizz
19
20:buzz
21:fizz
22
23
24:fizz
25:buzz
26
27:fizz
28
29
30:fizzbuzz
31
32
33:fizz
34
35:buzz
36:fizz
37
38
39:fizz
40:buzz
41
42:fizz
43
44
45:fizzbuzz
46
47
48:fizz
49
50:buzz
51:fizz
52
53
54:fizz
55:buzz
56
57:fizz
58
59
60:fizzbuzz
61
62
63:fizz
64
65:buzz
66:fizz
67
68
69:fizz
70:buzz
71
72:fizz
73
74
75:fizzbuzz
76
77
78:fizz
79
80:buzz
81:fizz
82
83
84:fizz
85:buzz
86
87:fizz
88
89
90:fizzbuzz
91
92
93:fizz
94
95:buzz
96:fizz
97
98
99:fizz
100:buzz
こんなお遊びがお役に立てると幸いです。
ここからさらにFizzbuzzを遊んでいきます。
fizzbuzzの際は、さらにアホゥと叫ぶコードを追加していきます。
っといっても引数を追加して表示させるだけなのですが、
fizzbuzzの際に、さらにアホゥと数字の横に並べて表示させる
def fizzbuzz(num, aho)
print num
num = "fizzbuzz"
aho = "アホゥ!"
print ":#{num}"
puts "#{aho}"
end
def fizz(num)
print num
num = "fizz"
puts ":#{num}"
end
def buzz(num)
print num
num = "buzz"
puts ":#{num}"
end
(1..100).each do |num, aho|
if num % 15 == 0
fizzbuzz(num, aho)
elsif num % 3 == 0
fizz(num)
elsif num % 5 == 0
buzz(num)
else
puts num
end
end
動作確認(アホゥver)
1
2
3:fizz
4
5:buzz
6:fizz
7
8
9:fizz
10:buzz
11
12:fizz
13
14
15:fizzbuzzアホゥ!
16
17
18:fizz
19
20:buzz
21:fizz
22
23
24:fizz
25:buzz
26
27:fizz
28
29
30:fizzbuzzアホゥ!
31
32
33:fizz
34
35:buzz
36:fizz
37
38
39:fizz
40:buzz
41
42:fizz
43
44
45:fizzbuzzアホゥ!
46
47
48:fizz
49
50:buzz
51:fizz
52
53
54:fizz
55:buzz
56
57:fizz
58
59
60:fizzbuzzアホゥ!
61
62
63:fizz
64
65:buzz
66:fizz
67
68
69:fizz
70:buzz
71
72:fizz
73
74
75:fizzbuzzアホゥ!
76
77
78:fizz
79
80:buzz
81:fizz
82
83
84:fizz
85:buzz
86
87:fizz
88
89
90:fizzbuzzアホゥ!
91
92
93:fizz
94
95:buzz
96:fizz
97
98
99:fizz
100:buzz
def fizzbuzz(num, aho)
print num
num = "fizzbuzz"
aho = "アホゥ!"
print ":#{num}"
puts "#{aho}"
end
def fizz(num)
print num
num = "fizz"
puts ":#{num}"
end
def buzz(num)
print num
num = "buzz"
puts ":#{num}"
end
(1..100).each do |num, aho|
if num % 15 == 0
fizzbuzz(num, aho)
elsif num % 3 == 0
fizz(num)
elsif num % 5 == 0
buzz(num)
else
puts num
end
end
1
2
3:fizz
4
5:buzz
6:fizz
7
8
9:fizz
10:buzz
11
12:fizz
13
14
15:fizzbuzzアホゥ!
16
17
18:fizz
19
20:buzz
21:fizz
22
23
24:fizz
25:buzz
26
27:fizz
28
29
30:fizzbuzzアホゥ!
31
32
33:fizz
34
35:buzz
36:fizz
37
38
39:fizz
40:buzz
41
42:fizz
43
44
45:fizzbuzzアホゥ!
46
47
48:fizz
49
50:buzz
51:fizz
52
53
54:fizz
55:buzz
56
57:fizz
58
59
60:fizzbuzzアホゥ!
61
62
63:fizz
64
65:buzz
66:fizz
67
68
69:fizz
70:buzz
71
72:fizz
73
74
75:fizzbuzzアホゥ!
76
77
78:fizz
79
80:buzz
81:fizz
82
83
84:fizz
85:buzz
86
87:fizz
88
89
90:fizzbuzzアホゥ!
91
92
93:fizz
94
95:buzz
96:fizz
97
98
99:fizz
100:buzz
ここは違うよ。または、ここはこうしたほうがセンスいいんじゃない?
等々ございましたらご指摘いただけますと幸いです。
最後までみていただき、ありがとうございました。
Author And Source
この問題について(【初心者向け】Fizzbuzzをメソッドを使用して解く), 我々は、より多くの情報をここで見つけました https://qiita.com/pontarou194/items/602d04c431462a6ff35d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .