Hỏi về fibonacci

number= int(input("How many Fibonnaci numbers do you want?"))
a=[1,1]

def fibo():
    a.append (a[len(a)-1]+a[len(a)-2])
    return

while len(a) < number:
    fibo()
    print (a)

ai giải thích cho e chỗ a[len(a) - 1] sao lại ra 2 được không ạ

1 Like

cứ tính từ từ:
len(a) = a[len(a)-1] = a[len(a)-2]=
là ra mà

ý mình là sao kết quả của dòng đấy lại ra 2 ý :v

bạn input thế nào, chạy thế nào, chỉ ghi mỗi " a[len(a) - 1] ra 2 " thì chả biết nói thế nào, chụp ảnh gửi lên xem

Wow, Python code ngắn thế nhỉ!
C/C++ mà code giải fibonacci thì không ngắn được như thế này :smile:

1 Like

Đây chỉ có k hiểu dòng này thôi ạ

bạn xem lại syntax
của bạn là a[len(a) - 1] + a[len(a) - 2]
làm từng vế nhé: a[len(a) - 1] = a[2 - 1] = a[1] truy vào list a của bạn là 1
a[len(a) - 2] = a[2 - 2] = a[0] truy vào list a của bạn là 1
vậy 1 + 1 = 2 thì đúng rồi :smile:

1 Like

Em hiểu phần này rồi ạ…cảm ơn mọi người :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?