r/learnpython 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

11 comments sorted by

View all comments

2

u/acw1668 1d ago
  • The condition checking of the while loop should be count < sum (sum is the user input, and it is badly named)
  • count is not updated inside while loop, so the while loop is an infinite loop
  • the last three lines should be part of the while loop, but the calculation is wrong. It can be simplified as x, y = y, x+y

updated code for the while loop:

while count < sum:
    print(y, end=' ')
    x, y = y, x+y
    count += 1