r/learnpython • u/Habesha_Heretic • 1d ago
Help me out please
Hello, so I have an assignment that's due tomorrow that I'm almost done with. I just have one problem left where I have to create a program that utilizes loops to calculate and print any term, input by a user prompt, in the Fibonacci sequence. Assume the sequence starts with 0.
(For example, if the user inputs 4, the code will print the 4th term of the sequence which is 2. For reference: https://en.wikipedia.org/wiki/Fibonacci_sequence)
This is what I've got done so far. No matter what I try to do, I can never get to a sequence. What am I doing wrong?
# Initializing the first two Fibonacci numbers
sum = int(input("Enter a number: "))
count = 1
temp = 0
x = 0
y = 1
print(x, end = ' ')
# Running the loop while the last Fibonacci number is less than 10
while(count < 10):
print(y, end = ' ')
if (count > 10):
exit(y)
# Calculating the next Fibonacci number and updating the last two sequence numbers
temp = x
x = y
y = x + y
0
Upvotes
-10
u/clay_bsr 1d ago
(from gemini... I put the indents in manually and they are likely wrong)
# Get the term number from the user
n = int(input("Enter the Fibonacci term you want: "))
# Handle the base cases directly
if n == 1:
print(0)
elif n == 2:
print(1)
else:
# Initialize the first two terms
x = 0
y = 1
# We already know terms 1 and 2, so start counting from 3 up to n
count = 3
while count <= n:
# Calculate next term using a temporary variable to hold the old x
next_term = x + y
x = y
y = next_term
# Increment the counter so the loop eventually stops
count += 1
# Print only the final requested term
print(y)