Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Fizz Buzz ใน Python

สมมติว่าเรามีตัวเลข 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):
        """
        :type n: int
        :rtype: List[str]
        """
        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(30))

อินพุต

30

เอาต์พุต

["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz","16","17","Fizz","19","Buzz","Fizz","22","23","Fizz","Buzz","26","Fizz","28","29","FizzBuzz"]