I have this following problem from a book I’m learning from and I'd like to know how you would interpret this code to get to the answer (14) because I’m having a hard time getting there. I understand the concept of for loops but this nested one got me good:
When the looping completes, what number will display?
outer_loop_total = 0
inner_loop_total = 0
countries = ["Albania", "Morocco", "Brazil", "Denmark"]
capitals = ["Tel Aviv", "Abuja", "Brasília", "Islamabad"]
for country_to_check in countries:
outer_loop_total = 1
for city_to_check in capitals:
inner_loop_total = 1
if country_to_check == "Brazil" and city_to_check == "Brasília":
print(outer_loop_total inner_loop_total)
CodePudding user response:
The inner loop gets executed everytime the outer loop gets executed.
For that outer_loop_total gets incremented until Brazil has reached. inner_loop_total gets incremented until Brasilia x times it takes to reach Brazil.
Lets calc (* 1 stands for your incremented number):
outer_loop_total: 3 * 1inner_loop_total: ((2 * 4) 3) * 1- Result =
outer_loop_totalinner_loop_total= 3 11 = 14
Why (2 * 4) 3?
Until Morocco in countries (which is 2 times 2 * ..) it goes until Islamabad in capitals (which is 4 times .. 4).
For the last one, when it reaches Brasil in countries, it only goes until Brasília (which is 3 times -> 3) .
CodePudding user response:
Sorry now I editted. You will see 14 number as an output because you have two loops. outer_loop_total will be 3 and inner_loop_total will be 11. You have 4 countries in your countries list. Your outer for loop will iterate in countries list orderly. For each country iterated , you iterate in all capitals in capital list. When your current country is "Brazil" and when your current capital is "Brasilia" you will see the output.
