Hướng dẫn python golden ratio - trăn tỷ lệ vàng

Trong chương trình này, bạn sẽ học cách in trình tự Fibonacci bằng cách sử dụng vòng lặp.

Nội dung chính ShowShow

  • Mã nguồn
  • Sê -ri Fibonacci là gì?
  • Logic của loạt Fibonacci
  • Công thức loạt Fibonacci
  • Fibonacci xoắn ốc
  • Thuật toán sê -ri Fibonacci
  • Cách tiếp cận lặp
  • Cách tiếp cận đệ quy
  • Phương pháp lập trình động
  • Cách tiếp cận lặp
  • Cách tiếp cận đệ quy
  • Phương pháp lập trình động
  • Lưu trữ giá trị trước đó trong B
  • Chạy cho vòng lặp trong phạm vi [2, num]
  • Thuật toán cho sê -ri Fibonacci là gì?
  • Sê -ri Fibonacci trong Python W3Schools là gì?

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Python nếu ... tuyên bố khác
  • Python trong khi vòng lặp

Trình tự Fibonacci là chuỗi số nguyên là 0, 1, 1, 2, 3, 5, 8 ....

Hai thuật ngữ đầu tiên là 0 và 1. Tất cả các thuật ngữ khác có được bằng cách thêm hai thuật ngữ trước đó. Điều này có nghĩa là để nói thuật ngữ thứ n là tổng của (n-1) và thuật ngữ (n-2).

Mã nguồn

# Program to display the Fibonacci sequence up to n-th term

nterms = int(input("How many terms? "))

# first two terms
n1, n2 = 0, 1
count = 0

# check if the number of terms is valid
if nterms <= 0:
   print("Please enter a positive integer")
# if there is only one term, return n1
elif nterms == 1:
   print("Fibonacci sequence upto",nterms,":")
   print(n1)
# generate fibonacci sequence
else:
   print("Fibonacci sequence:")
   while count < nterms:
       print(n1)
       nth = n1 + n2
       # update values
       n1 = n2
       n2 = nth
       count += 1

Đầu ra

How many terms? 7
Fibonacci sequence:
0
1
1
2
3
5
8

Ở đây, chúng tôi lưu trữ số lượng các điều khoản trong NTERMS. Chúng tôi khởi tạo thuật ngữ đầu tiên thành 0 và thuật ngữ thứ hai thành 1.

Nếu số thuật ngữ là nhiều hơn 2, chúng tôi sử dụng vòng lặp while để tìm thuật ngữ tiếp theo trong chuỗi bằng cách thêm hai thuật ngữ trước đó. Sau đó, chúng tôi trao đổi các biến (cập nhật nó) và tiếp tục với quy trình.

Bạn cũng có thể giải quyết vấn đề này bằng chương trình đệ quy: Python để in trình tự Fibonacci bằng cách sử dụng đệ quy.

Câu hỏi thường gặp

      • Các thuộc tính của loạt Fibonacci là gì?
      • Sê-ri Fibonacci có một số thuộc tính, bao gồm: Số lượng trong chuỗi là tổng của hai số trước đó.-Hai số đầu tiên trong chuỗi là 0 và 1.
      • Công thức loạt Fibonacci
      • Fibonacci xoắn ốc
      • Thuật toán sê -ri Fibonacci
        • Cách tiếp cận lặp
        • Cách tiếp cận đệ quy
        • Phương pháp lập trình động
        • Cách tiếp cận lặp
        • Cách tiếp cận đệ quy
        • Phương pháp lập trình động
      • Lưu trữ giá trị trước đó trong B
      • Chạy cho vòng lặp trong phạm vi [2, num]

Thuật toán cho sê -ri Fibonacci là gì?

  1. Sê -ri Fibonacci trong Python W3Schools là gì?
  2. Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:
  3. Công thức loạt Fibonacci
  4. Fibonacci xoắn ốc
  5. Thuật toán sê -ri Fibonacci
  6. Cách tiếp cận lặp
    a. Fibonacci Series Using loop
    b. Fibonacci Series using Recursion
    c. Fibonacci Series using Dynamic Programming
  7. Lưu trữ giá trị trước đó trong B

Chạy cho vòng lặp trong phạm vi [2, num]

Sê -ri Fibonacci là gì?

Thuật toán cho sê -ri Fibonacci là gì?
The Fibonacci Sequence is the series of numbers:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …

Logic của loạt Fibonacci

Sê -ri Fibonacci trong Python W3Schools là gì?
The 3rd element is (1+0) = 1
The 4th element is (1+1) = 2
The 5th element is (2+1) = 3

Công thức loạt Fibonacci

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:
xn = xn-1 + xn-2 ; where
xn is the term number “n”
xn-1 is the previous term (n-1)
xn-2 is the term before that

Fibonacci xoắn ốc

Thuật toán sê -ri Fibonacci

Cách tiếp cận lặp

Cách tiếp cận đệ quy

Thuật toán sê -ri Fibonacci

Cách tiếp cận lặp

  • Cách tiếp cận đệ quy
  • Phương pháp lập trình động
  • Lưu trữ giá trị trước đó trong B
  • Lưu trữ giá trị trước đó trong B
  • Chạy cho vòng lặp trong phạm vi [2, num]

Cách tiếp cận đệ quy

  • Phương pháp lập trình động
  • Lưu trữ giá trị trước đó trong B

Phương pháp lập trình động

  • Lưu trữ giá trị trước đó trong B
  • Chạy cho vòng lặp trong phạm vi [2, num]
  • Thuật toán cho sê -ri Fibonacci là gì?
  • Chạy cho vòng lặp trong phạm vi [2, num]
  • Tính toán giá trị mảng [i] = mảng [i-1] +mảng [i-2]
  • Mảng có trình tự được tính toán cho đến khi n

Do đó, giải pháp sẽ là tính toán giá trị một lần và lưu trữ nó trong một mảng từ nơi có thể truy cập vào lần tiếp theo. Do đó, chúng tôi sử dụng lập trình động trong các trường hợp như vậy. Các điều kiện để thực hiện lập trình động là1. Các vấn đề phụ chồng chéo2. Cấu trúc tối ưu1. overlapping sub-problems2. optimal substructure
1. overlapping sub-problems
2. optimal substructure

Cách tiếp cận lặp

def fib_iter(n):
    a=1
    b=1
    if n==1:
        print('0')
    elif n==2:
        print('0','1')
    else:
        print("Iterative Approach: ", end=' ')
        print('0',a,b,end=' ')
        for i in range(n-3):
            total = a + b
            b=a
            a= total
            print(total,end=' ')
        print()
        return b
        
fib_iter(5)

Khởi tạo các biến A, B đến 1

Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền

Cách tiếp cận đệ quy

def fib_rec(n):
    if n == 1:
        return [0]
    elif n == 2:
        return [0,1]
    else:
        x = fib_rec(n-1)
        # the new element the sum of the last two elements
        x.append(sum(x[:-3:-1]))
        return x
x=fib_rec(5)
print(x)

Khởi tạo các biến A, B đến 1

Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền

Cách tiếp cận đệ quy

Phương pháp lập trình động

Khởi tạo các biến A, B đến 1

Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền

Cách tiếp cận đệ quy

Phương pháp lập trình động

There is a slight modification to the iterative approach. We use an additional array.

def fib_dp(num):
    arr = [0,1]
    print("Dynamic Programming Approach: ",end= ' ')
    if num==1:
        print('0')
    elif num==2:
        print('[0,','1]')
    else:
        while(len(arr) 

Tính số tiếp theo trong loạt; Tổng cộng = A+B
-Each number in the series is the sum of the two preceding numbers.
-The first two numbers in the series are 0 and 1.

Lưu trữ giá trị trước đó trong B

Lưu trữ tổng số trong một
-It can be used to model the growth of populations of animals.
-It can be used to calculate the Golden Ratio, which is used in architecture and art.
-It can be used in computer programming to generate efficient algorithms.

Cách tiếp cận đệ quy

Phương pháp lập trình động

There is a slight modification to the iterative approach. We use an additional array.

def fib_dp(num):
    arr = [0,1]
    print("Dynamic Programming Approach: ",end= ' ')
    if num==1:
        print('0')
    elif num==2:
        print('[0,','1]')
    else:
        while(len(arr) 

Tính số tiếp theo trong loạt; Tổng cộng = A+B

Chạy cho vòng lặp trong phạm vi [2, num]

  1. Tính toán giá trị mảng [i] = mảng [i-1] +mảng [i-2]
  2. Mảng có trình tự được tính toán cho đến khi n
  3. Do đó, giải pháp sẽ là tính toán giá trị một lần và lưu trữ nó trong một mảng từ nơi có thể truy cập vào lần tiếp theo. Do đó, chúng tôi sử dụng lập trình động trong các trường hợp như vậy. Các điều kiện để thực hiện lập trình động là1. Các vấn đề phụ chồng chéo2. Cấu trúc tối ưu1. overlapping sub-problems2. optimal substructure
  4. Cách tiếp cận lặp

Khởi tạo các biến A, B đến 1

Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền

Cách tiếp cận đệ quy

Phương pháp lập trình độngCalculates The Fibonacci Series By Using Function. Example: def fibo(n): a = 0 b = 1 for i in range(0, n): temp = a a = b b = temp + b return a # Show the first 13 Fibonacci numbers. for c in range(0, 13): print(fibo(c)) #Function call.