Python Forum

Full Version: Nested loop
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
lyrics = ["I wanna be your endgame", "I wanna be your first string",
"I wanna be your A-Team", "I wanna be your endgame, endgame"]
lines_of_sanity = 6

#You may modify the lines of code above, but don't move them!
#When you Submit your code, we'll change these lines to
#assign different values to the variables.

#Imagine you have a song stuck in your head. Worse, you have
#only a few lines from a song stuck in your head. They just
#keep repeating over and over. The specific lines you have
#stuck in your head are stored in the variable lyrics.
#
#You can only stay sane so long while doing this.
#Specifically, you can only listen to lines_of_sanity lines
#before going crazy. Once you've reached lines_of_sanity,
#your brain will finish out the current list, then crumble.
#
#Write some code that will print the lyrics that run through
#your head. It should keep repeating each line one-by-one
#until you've reached lines_of_sanity lines. Then, it should
#keep going to finish out the current verse. After that, print
#"MAKE IT STOP" in all caps (without the quotes).
#
#HINT: Remember, we can iterate through items in a list using
#this syntax:
#
# for item in list_of_items:
#
#HINT 2: You'll probably need a counter to count how many lines
#have been printed so far.

#This
#should print 9 lines: all 4 lines of the list twice, followed
#by MAKE IT STOP



Tried many times but still not able to get the correct output
Can you show us your last code attempt (in Python code tags), the expected result and actual result (both in output tags)?
for i in range(lines_of_sanity):
	for lines in lyrics:
		print(lines)
print("MAKE IT STOP")
Output:
I wanna be your endgame I wanna be your first string I wanna be your A-Team I wanna be your endgame, endgame I wanna be your endgame I wanna be your first string I wanna be your A-Team I wanna be your endgame, endgame I wanna be your endgame I wanna be your first string I wanna be your A-Team I wanna be your endgame, endgame I wanna be your endgame I wanna be your first string I wanna be your A-Team I wanna be your endgame, endgame I wanna be your endgame I wanna be your first string I wanna be your A-Team I wanna be your endgame, endgame I wanna be your endgame I wanna be your first string I wanna be your A-Team I wanna be your endgame, endgame MAKE IT STOP
You have to repeat inner cycle till you print lines_of_sanity lines - not run it lines_of_sanity times.

You will still need two nested loops - the inner is nearly OK.
Hints
  • You will have to count number of lines your print.
  • You will have to break out of both loops when you print required number of lines