01/10/2018, 00:53

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 ạ

KYN viết 02:58 ngày 01/10/2018

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

Trung Đỗ viết 02:58 ngày 01/10/2018

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

KYN viết 03:05 ngày 01/10/2018

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

Người bí ẩn viết 03:01 ngày 01/10/2018

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

Trung Đỗ viết 03:01 ngày 01/10/2018

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

Nguyen Trung viết 02:59 ngày 01/10/2018

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

Trung Đỗ viết 02:56 ngày 01/10/2018

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

Bài liên quan
0