python小白的基础问题 关于while循环的嵌套
问题描述
源代码如下:
# -*- coding:gb2312 -*-#站起来,坐下,站起来,转5个圈,坐下。整个流程执行10次Process1 = 1Process2 = 1while Process1 < 10: # 这个Process1 代表外面大的while循环 print('='*5) print('第%d次执行'%Process1) print('站起来') print('坐下') print('站起来') while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环print('转%d个圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1
执行结果:
我的问题是:为什么如图红色标记的这一部分,也就是Process2这一部分的内循环,在整个过程只执行了一次,而不是随着外面的整个大循环执行10次? 我如何改进才可以让他随着整个程序一直嵌套在里面循环下去?
问题解答
回答1:执行第一次外循环之后, Process2 的值变成了 6, 在执行第二次外循环及以后时,它的值一直是 6, 所以内循环不执行. 如果你想让它执行, Process2的初始化应该放到外循环里面.
Process1 = 1while Process1 < 10: # 这个Process1 代表外面大的while循环 print('='*5) print('第%d次执行'%Process1) print('站起来') print('坐下') print('站起来') Process2 = 1 while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环print('转%d个圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1回答2:
要把内层循环的变量赋值放在外层循环里面才行。保证在每次外层循环时,内层循环变量都从1开始。不然,内层循环变量第一次运行后变成6,之后一直是6,导致后面不再执行。
# -*- coding:gb2312 -*-#站起来,坐下,站起来,转5个圈,坐下。整个流程执行10次Process1 = 1while Process1 < 10: # 这个Process1 代表外面大的while循环 print('='*5) print('第%d次执行'%Process1) print('站起来') print('坐下') print('站起来') Process2 = 1 while Process2 <= 5: # 这个Process2 代表嵌套在里面的while小循环print('转%d个圈'%Process2)Process2 = Process2 + 1 print('坐下') Process1 = Process1 + 1
相关文章:
1. nignx - docker内nginx 80端口被占用2. dockerfile - 为什么docker容器启动不了?3. javascript - weex和node,js到底是怎样一个关系呢?4. docker gitlab 如何git clone?5. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?6. javascript - 修改表单多选项时和后台同事配合的问题。7. docker安装后出现Cannot connect to the Docker daemon.8. golang - 用IDE看docker源码时的小问题9. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?10. redis - 究竟是选择微信小程序自带的统计工具还是自己开发一个数据统计的代码?

网公网安备