การดู : 290

25/04/2026 02:47น.

FizzBuzz คืออะไร? มาทดลองเล่นกันเถอะ!

FizzBuzz คืออะไร? มาทดลองเล่นกันเถอะ!

#การเขียนโปรแกรม

#2025

#โจทย์โปรแกรมเมอร์

FizzBuzz คืออะไร?

FizzBuzz เป็นโจทย์ที่ใช้ในการเขียนโปรแกรมเพื่อช่วยในการทดสอบทักษะการเขียนโค้ดของผู้เรียน โดยเฉพาะในระดับเริ่มต้นมักถูกใช้ในการสัมภาษณ์งานโปรแกรมเมอร์ เพื่อประเมินความเข้าใจในตรรกะพื้นฐานของการเขียนโค้ด 

 

ความสำคัญของ FizzBuzz

  • การฝึกทักษะ: ช่วยในการพัฒนาทักษะการคิดเชิงตรรกะและการเขียนโค้ด

 

  • การประเมินความรู้: มักใช้ในการสัมภาษณ์งานเพื่อประเมินความเข้าใจในตรรกะและการเขียนโปรแกรม

 

  • การจัดการเงื่อนไข: ช่วยให้ผู้เรียนเข้าใจการใช้คำสั่งเงื่อนไข (if-else) ในการเขียนโค้ด

 

โดยวันนี้ SuperDev School นำโจทย์ FizzBuzzง่ายๆมาให้ชาวโปรแกรมเมอร์ลองทำกัน ไปอ่านโจทย์กันเลย!

 

โจทย์มีดังนี้! อย่าพึ่งแอบดูเฉลยด้านล่างนะ!

 

  • ให้คุณเขียนโค้ดPythonเพื่อแสดงตัวเลขจาก 1 ถึง 100

 

  • แต่ถ้าตัวเลขนั้นหารด้วย 3 ลงตัว ให้แสดงคำว่า "Fizz"

 

  • ถ้าหากตัวเลขนั้นหารด้วย 5 ลงตัว ให้แสดงคำว่า "Buzz"

 

  • หากตัวเลขนั้นหารด้วยทั้ง 3 และ 5 ลงตัว ให้แสดงคำว่า "FizzBuzz"

 

 

ใครทำแล้วมาคอมเมนต์ไว้ใต้โพสต์เลย!!

*

*

*

*

*

 

เฉลย

  • อธิบายโจทย์ FizzBuzz

โจทย์ FizzBuzz จะให้คุณเขียนโค้ดเพื่อแสดงผลตัวเลขตั้งแต่ 1 ถึง 100 โดยมีเงื่อนไขพิเศษ:

ถ้าตัวเลขนั้นหารด้วย 3 ลงตัว (เช่น 3, 6, 9, 12 และอื่น ๆ) ให้แสดงคำว่า "Fizz" แทนตัวเลขนั้น

ถ้าตัวเลขนั้นหารด้วย 5 ลงตัว (เช่น 5, 10, 15, 20 และอื่น ๆ) ให้แสดงคำว่า "Buzz" แทนตัวเลขนั้น

ถ้าตัวเลขนั้นหารด้วยทั้ง 3 และ 5 ลงตัว (เช่น 15, 30, 45 และอื่น ๆ) ให้แสดงคำว่า "FizzBuzz" แทนตัวเลขนั้น

ถ้าตัวเลขนั้นไม่ตรงตามเงื่อนไขใด ๆ ให้แสดงตัวเลขนั้นเอง

คำตอบที่ถูกต้อง

 

for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

 

เมื่อรันโค้ดนี้ ผลลัพธ์ที่ได้จะเป็นตัวเลขตั้งแต่ 1 ถึง 100 โดยในบางตัวเลขจะถูกแทนที่ด้วย "Fizz", "Buzz", หรือ "FizzBuzz" ตามเงื่อนไขที่กำหนด

- 1
- 2
- Fizz
- 4
- Buzz
- Fizz
- 7
- 8
- Fizz
- Buzz
- ...
- FizzBuzz (ที่ 15, 30, 45, 60, 75, 90)

ตัวอย่างที่ผิด

 

for i in range(1, 101):
    if i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    elif i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    else:
        print(i)

 

ทำไมถึงผิด?


1.ลำดับของเงื่อนไข:
-โค้ดนี้มีการตรวจสอบเงื่อนไข "Fizz" และ "Buzz" ก่อนที่จะตรวจสอบ "FizzBuzz" ซึ่งไม่ถูกต้อง
-ตามที่โจทย์ระบุ ถ้าตัวเลขหารทั้ง 3 และ 5 ลงตัว ควรแสดง "FizzBuzz" ก่อนการตรวจสอบเงื่อนไขอื่นๆ


2.การไม่แสดง "FizzBuzz":
-ด้วยลำดับที่กำหนด ถ้าตัวเลข i เป็น 15 (ซึ่งหารทั้ง 3 และ 5 ลงตัว) ระบบจะตรวจสอบเงื่อนไขแรก (i % 3 == 0) และแสดงคำว่า "Fizz" ทันที โดยไม่ตรวจสอบเงื่อนไขที่เป็น "FizzBuzz" ผลลัพธ์ที่ได้จะไม่ตรงตามที่โจทย์ต้องการ

 


สรุปแล้วFizzBuzz เป็นโจทย์ที่ง่ายแต่มีความสำคัญในการเรียนรู้การเขียนโปรแกรม ช่วยให้ผู้เรียนเข้าใจการใช้ตรรกะและคำสั่งเงื่อนไขได้ดียิ่งขึ้น การฝึกทำโจทย์นี้จะช่วยพัฒนาทักษะและความมั่นใจในการเขียนโค้ดในอนาคต! หากไม่อยากพลาดความรู้ดีดีแบบนี้อีกอย่าลืมกดติดตาม SuperDev School กันนะ!