สมมติว่าเรามีตัวเลข n เราต้องหาสตริงที่แสดงตัวเลขทั้งหมดตั้งแต่ 1 ถึง n แต่เราต้องปฏิบัติตามกฎบางประการ
-
เมื่อตัวเลขหารด้วย 3 ลงตัว ให้ใส่ Fizz แทนตัวเลข
-
เมื่อตัวเลขหารด้วย 5 ลงตัว ให้ใส่ Buzz แทนตัวเลข
-
เมื่อตัวเลขหารด้วย 3 และ 5 ลงตัวทั้งคู่ ให้ใส่ FizzBuzz แทนตัวเลข
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- สำหรับตัวเลขทั้งหมดตั้งแต่ 1 ถึง n,
- ถ้าตัวเลขหารด้วย 3 และ 5 ลงตัวทั้งคู่ ให้ใส่ “FizzBuzz”
- มิฉะนั้นเมื่อตัวเลขหารด้วย 3 ลงตัว ให้ใส่ “Fizz”
- มิฉะนั้นเมื่อตัวเลขหารด้วย 5 ลงตัว ให้ใส่ "Buzz"
- มิฉะนั้นให้เขียนตัวเลขเป็นสตริง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution(object): def fizzBuzz(self, n): result = [] for i in range(1,n+1): if i% 3== 0 and i%5==0: result.append("FizzBuzz") elif i %3==0: result.append("Fizz") elif i% 5 == 0: result.append("Buzz") else: result.append(str(i)) return result ob1 = Solution() print(ob1.fizzBuzz(15))
อินพุต
15
ผลลัพธ์
['1', '2', 'Fizz', '4', 'Buzz', 'Fizz', '7', '8', 'Fizz', 'Buzz', '11', 'Fizz', '13', '14', 'FizzBuzz']