Python嵌套for循环代码解析:为何执行结果为14?
嵌套循环执行逻辑解析
先看变量初始状态:
outer_loop_total = 0inner_loop_total = 0countries数组包含4个元素:["Albania", "Morocco", "Brazil", "Denmark"]capitals数组包含4个元素:["Tel Aviv", "Abuja", "Brasília", "Islamabad"]
接下来逐轮拆解循环执行过程:
第1次外层循环(遍历到"Albania")
outer_loop_total自增1,变为1- 内层循环遍历全部4个首都:
- 每遍历一个城市,
inner_loop_total加1,结束后inner_loop_total从0变为4 - 不满足
country_to_check == "Brazil"的条件,无打印操作
- 每遍历一个城市,
第2次外层循环(遍历到"Morocco")
outer_loop_total自增1,变为2- 内层循环遍历全部4个首都:
inner_loop_total从4变为8- 同样不满足条件,无打印操作
第3次外层循环(遍历到"Brazil")
outer_loop_total自增1,变为3- 内层循环逐个遍历首都:
- 遍历"Tel Aviv":
inner_loop_total变为9,不满足条件 - 遍历"Abuja":
inner_loop_total变为10,不满足条件 - 遍历"Brasília":
inner_loop_total变为11,此时满足country_to_check == "Brazil" and city_to_check == "Brasília"的条件,计算3 + 11 = 14并打印 - 遍历"Islamabad":
inner_loop_total变为12,不满足条件
- 遍历"Tel Aviv":
第4次外层循环(遍历到"Denmark")
outer_loop_total自增1,变为4- 内层循环遍历全部4个首都,
inner_loop_total从12变为16 - 不满足条件,无打印操作
所以循环执行过程中会输出14。
内容的提问来源于stack exchange,提问作者ninjacarrot
相关产品推荐
相关产品推荐

