# prompt: python program to generate fibonacci series
# prompt: python program to generate fibonacci series
def fibonacci_sequence(n):
"""
Generates a Fibonacci sequence up to n terms.
Args:
n: The number of terms to generate.
Returns:
A list containing the Fibonacci sequence.
"""
if n <= 0:
return []
elif n == 1:
return [0]
else:
list_fib = [0, 1]
while len(list_fib) < n:
next_fib = list_fib[-1] + list_fib[-2]
list_fib.append(next_fib)
return list_fib
# Get input from the user
num_terms = int(input("Enter the number of terms for the Fibonacci sequence: "))
# Generate and print the Fibonacci sequence
fib_sequence = fibonacci_sequence(num_terms)
print("Fibonacci Sequence:", fib_sequence)
Understanding the Fibonacci Sequence
The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones. It starts with:
Mathematically, it follows:
where:
Code Breakdown
1. Function Definition
- Defines a function named
fibonacci_sequencethat takes an integern(the number of terms to generate).
2. Docstring (Explanation for Function)
- This provides information about the function’s purpose, input (
n), and output (a list of Fibonacci numbers).
3. Handling Edge Cases
- If
nis 0 or negative, it returns an empty list since a sequence can't have negative or zero terms.
- If
n == 1, it returns[0]because the first Fibonacci number is0.
4. Generating the Fibonacci Sequence
- If
nis greater than 1, it initializes the list with the first two Fibonacci numbers:[0, 1].
- A
whileloop runs until the list containsnterms. list_fib[-1](last element) andlist_fib[-2](second last element) are added to compute the next Fibonacci number.- The new number is appended to
list_fib.
- Once the sequence reaches
nterms, the function returns the list.
5. Getting User Input
- Prompts the user to enter a number.
- Converts the input to an integer (
int).
6. Calling the Function & Printing the Result
- Calls the
fibonacci_sequence()function with the user-provided number of terms. - Prints the generated Fibonacci sequence.
Comments
Post a Comment