这个循环结构是循环多少次啊?

img


不太懂这个是循环遍历几次,当age与2相除余数不为零时start为1,后面是如何循环遍历的呢

执行完if语句,start=1 , age=23;
然后执行for循环,从start=1开始,结束是age+2=25(不包括25),每次递进2,所以print打印x的值是:
1,3,5,7,9,11,13,15,17,19,21,23(因为结束不包括25,所以到23停止),这里一共打印12个数,所以是C。

age=23
start=2
if age%2 != 0:
    start=1
for x in range(start,age+2,2):
    print(x)


img

start=1,age+2=25,25-1 = 24,24/2=12,所以执行12次

那你就要知道range这个东西是干什么的
range(a,b,c)返回一个可迭代对象,它从a开始,间隔c,一直到b(不包含b)
那么当start=1时
range(start,age+2,2)===range(1,25,2)
从1开始,间隔2,一直到25(不包含25),所以其实就是1,3,5,7,9,11,13,15,17,19,21,23
x就从这里面取数,取完为止

x从1开始循环,自增2,条件小于25