ตอนแรกฉันเขียนโปรแกรมผิด แทนที่จะส่งกลับตัวเลข Fibonacci ระหว่างช่วง (เช่น startNumber 1, endNumber 20 ควร = เฉพาะตัวเลขระหว่าง 1 และ 20) ฉันได้เขียนโปรแกรมเพื่อแสดงตัวเลข Fibonacci ทั้งหมดระหว่างช่วง (เช่น startNumber 1, หมายเลขท้าย 20 แสดง = หมายเลข Fibonacci 20 หมายเลขแรก) ฉันคิดว่าฉันมีรหัสที่แน่นอน ฉันยังไม่เห็นว่าทำไมสิ่งนี้จึงเกิดขึ้น
startNumber = int(raw_input("Enter the start number here "))
endNumber = int(raw_input("Enter the end number here "))
def fib(n):
if n < 2:
return n
return fib(n-2) + fib(n-1)
print map(fib, range(startNumber, endNumber))
มีคนชี้ให้เห็นในส่วนที่สองของฉัน (ซึ่งถูกปิดเพราะเป็นสิ่งซ้ำซ้อน - /programming/504193/how-to-write-the-fibonacci-sequence-in-python-part-ii ) จำเป็นต้องผ่าน startNumber และ endNumber ผ่านตัวสร้างโดยใช้ลูป while ใครช่วยกรุณาชี้นำฉันในการทำสิ่งนี้? ยินดีต้อนรับความช่วยเหลือใด ๆ
ฉันเป็นโปรแกรมเมอร์แห่งการเรียนรู้และฉันรู้สึกสับสนเล็กน้อย ฉันถูกขอให้เขียนโปรแกรมที่จะคำนวณและแสดงลำดับของ Fibonacci โดยผู้ใช้ป้อนหมายเลขเริ่มต้นและหมายเลขสิ้นสุด (เช่น startNumber = 20 endNumber = 100 และจะแสดงเฉพาะตัวเลขระหว่างช่วงนั้น) เคล็ดลับคือการใช้มันอย่างรวม (ซึ่งฉันไม่ทราบวิธีการทำใน Python? - ฉันสมมติว่านี่หมายถึงการใช้ช่วงรวม?)
สิ่งที่ฉันมีจนถึงตอนนี้ยังไม่มีการเข้ารหัสที่แท้จริง แต่เป็น:
- เขียนสูตรลำดับ Fib ให้ไม่มีที่สิ้นสุด
- แสดง startNumber ไปยัง endNumber เท่านั้นจากลำดับ Fib
ฉันไม่รู้ว่าจะเริ่มจากตรงไหนและฉันขอความคิดหรือข้อมูลเชิงลึกเกี่ยวกับวิธีการเขียนสิ่งนี้ ฉันยังได้พยายามที่จะเขียนฟอรัมลำดับตอแหล แต่ฉันก็หลงทางเช่นกัน