FAQ: Learn Python: Loops - Infinite Loops

This community-built FAQ covers the “Infinite Loops” exercise from the lesson “Learn Python: Loops”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Computer Science
Data Science

FAQs on the exercise Infinite Loops

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

6 posts were split to a new topic: Why isn’t one of my lists being printed?

3 posts were split to a new topic: This was my solution

3 posts were split to a new topic: What can the iteration variable be named?

6 posts were split to a new topic: How can I advance the exercise after the infinite loop?

I’m having trouble understanding the syntax for this exercise.

my_favorite_numbers = [4, 8, 15, 16, 42]

for number in my_favorite_numbers:
my_favorite_numbers.append(1)

Does this mean that every time the loop runs, the number one is added to the list? (4, 8, 15, 16, 42, 1, 1, 1…)

Yes, you are correct, and because the number 1 is added each time the for is running, the for will never end because there will be always a new number.

!!! Anyway, I’ve got another problem with exercise 3 from ’ Infinite Loops’ lesson. I have to create an infinite loop here, which I did but after I hit the run button the page is freezing and I have to refresh the page. When the page has been refreshed the exercise 3 is not checked as done, so I’m actually stuck here. Any idea how to skip this one ?

Thanks

my_favorite_numbers = [4, 8, 15, 16, 42]

for number in my_favorite_numbers:
print(number)

If I write my code like this, the numbers on the list 4, 8, 15, 16,42 will be printed out.

my_favorite_numbers = [4, 8, 15, 16, 42]

for number in my_favorite_numbers:
my_favorite_numbers.append(1)

However, I do not get why this is an infinite loop. Doesn’t append mean to just add a number. So would it not print 4, 8, 15, 16, 42,1. Why does the loop continuously go on?

Why doesn’t the following code work as a solution?

for student in students_in_period_A:
return students_in_period_B.append(student)

?

I have figured out that if you remove the return, the code works. I would like to understand why?

2 Likes

It’s not working , I wrote the same and it tells me that "Your code is failed to run.

Hello @kratika-techie and @corypoole2313891181 and welcome to the Codecademy Forums!

Remember that immediately after a return statement is executed, the function will be exited. Make sure you are returning the list with all the students appended.

Why my code is returning only one value instead of all the values?
it only return the last name which is Daniele
I expected to return all the list

students_period_A = [“Alex”, “Briana”, “Cheri”, “Daniele”]

for st in students_period_A:
lista = [ ]
lista.append(st)

print(lista)

Hello, @array4507277167, and welcome to the forums.

For us to know what is or isn’t inside a code block with Python, we need to see the indentation. You need to place your code between otherwise blank lines with 3 back ticks on each like so:

```
code goes here
```

See How do I format code in my posts? for more information.

That said, what does lista = [] do? You could add a few print() statements to your code to observe what exactly is happening. You could try:

students_period_A = [“Alex”, “Briana”, “Cheri”, “Daniele”]

for st in students_period_A:
    lista = [ ]
    print(lista) #debug print
    lista.append(st)
    print(lista) #debug print (see what is in the list before and after the append operation

print(lista)
1 Like