Fibonacci Sequence in Python
0, 1, 1, 2, 3, 5, 8... Generate the sequence with a loop and two variables, then run it online.
- How each Fibonacci number is built
- Updating two variables at once with a, b = b, a + b
- Collecting the first n terms
Each term adds the two before it
ลำดับฟีโบนัชชีเริ่มด้วย 0 และ 1 ตั้งแต่ตัวที่สามเป็นต้นไป แต่ละตัวคือผลบวกของสองตัวก่อนหน้า ได้ 0, 1, 1, 2, 3, 5, 8, 13... เป็นแบบฝึกหัดคลาสสิกสำหรับฝึกลูปและการอัปเดตตัวแปร
ประเด็นสำคัญ
- Start with a = 0 and b = 1.
- a, b = b, a + b moves to the next pair in one step.
- The loop needs only two variables, whatever n is.
ใช้เมื่อไร?
- เรียนรู้ไวยากรณ์และแนวคิดพื้นฐานของ Python ผ่านตัวอย่างสั้น ๆ ที่เข้าใจง่าย
- สร้างพื้นฐานที่มั่นคงก่อนไปต่อกับโจทย์ที่ซับซ้อนขึ้น
- รันโค้ดในเบราว์เซอร์ได้ทันทีโดยไม่ต้องติดตั้ง Python บนเครื่อง
โค้ดตัวอย่าง
count = 10
a, b = 0, 1
for _ in range(count):
print(a, end=" ")
a, b = b, a + b
ผลลัพธ์จากการรัน
0 1 1 2 3 5 8 13 21 34
อธิบายโค้ด
ตัวแปร a และ b เก็บตัวเลขสองตัวที่อยู่ติดกันในลำดับ หลังแสดง a แล้ว คำสั่ง a, b = b, a + b จะอัปเดตทั้งสองตัวแปรพร้อมกัน ค่าเดิมของ a จึงยังใช้คำนวณตัวถัดไปได้ วิธีนี้ทำงานใน O(n) และใช้หน่วยความจำเพิ่มเพียงจำนวนคงที่
เปลี่ยนค่าและรันโปรแกรมด้วย คอมไพเลอร์ Python ออนไลน์ของ CodeUtility โดยไม่ต้องติดตั้ง Python
แบบฝึกหัดเพิ่มเติม
ลองแก้โค้ดตามคำแนะนำด้านล่าง การเปลี่ยนโค้ดแล้วดูผลลัพธ์จะช่วยให้เข้าใจบทเรียนได้ดีกว่าการอ่านอย่างเดียวมาก
- เปลี่ยนข้อมูลอินพุตแล้วทายผลลัพธ์ก่อนรัน
- เพิ่มการตรวจสอบข้อมูลว่างหรือข้อมูลที่ไม่ถูกต้อง
- แยกขั้นตอนการประมวลผลเป็นฟังก์ชันและทดสอบกับข้อมูลหลายชุด
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
- เลขฟีโบนัชชี คืนค่าเลขฟีโบนัชชีลำดับที่ n ง่าย
- ผลรวมของจำนวนฟีโบนักชีที่เป็นเลขคู่ หาผลรวมของจำนวนฟีโบนักชีที่เป็นเลขคู่และไม่เกินค่าขีดจำกัดที่กำหนด ง่าย