关于range
for i in range(10):if i % 2 != 0:
print(i)
continue
i += 2
print(i)
看不懂最后结果,能给解释下吗,谢谢啦 for i in range(10): 对于1到10中数循环取为i
if i % 2 != 0:如果 i%2 不为零
print(i) 打印,
continue继续循环
i += 2当前i递增2
print(i)打印i,然后回到第一步从下一个i开始 for i in range(10):# 把0-9的值依次赋值给i
if i % 2 != 0: # 如果i除以二的余数不为0(是奇数)
print(i) #打印i
continue #继续循环(不执行contiue以后的代码)
i += 2 #如果i是偶数给i+2(不影响下一次循环时 i 的值)
print(i) #打印i
就是依次计算0-9内的数,
如果是奇数,直接打印出来
如果是偶数,加二在打印 for i in range(10):#这一行是for循环,i从0每次自增1到9
i=0,判断if条件,0对2求余结果为0,条件为假,执行与if并列的语句i=i+2,打印2
i自增1,i=1,判断if条件,结果为真,执行if后面的语句,打印1,并通过continue跳出此次循环
i又自增1,i=2.判断if条件,结果为假,执行与if缩进一致的并列语句,故打印4
依此类推。。。。。
主要注意缩进关系,求余条件的判断和continue的跳出本次循环不执行后面的重开一次循环
if i % 2 != 0等于 什么数字除2后余数不等于0?
能除2余数为零的肯定是偶数,所以只有奇数满足除2余数不为零。
假如是奇数的话,就继续(continue)下次循环,本次什么都不做。
所以不满足if的肯定是奇数,奇数往上2个2个加,加的也都是奇数。
最后把奇数打印出来。 三楼解释的非常对,
我补充一点点
for range循环,在开始的时候,就会生成迭代遍历序列,
在循环执行过程中,修改i的值不影响迭代遍历序列。
range()有三个参数,以逗号隔开,第一个参数和第三个参数都有默认值,第一个参数是起始位置默认值为0,第三个参数是步长默认值为1。range(m,n,l)就是从m到n(不包含n)步长为l的序列 for i in range(10):
if i % 2 != 0: # 如果 i 是奇数(除以 2 的余数不为 0)
print(i) # 打印 i 的值
continue # 继续循环
i += 2 # 将 i 加 2(此处并不影响 for 循环中的 i 的值,因为 for 循环会自动重置 i)
print(i) # 把 i 加 2 后的结果打印出来 本帖最后由 雨留下的印记 于 2020-4-4 20:11 编辑
for i in range(10):
if i % 2 != 0:
print(i)
continue
i += 2
print(i)
i从0~9
i = 0时,0%2 = 0,不会进入if语句,直接进入 i += 2 ,输出的结果是2
然后 i=11%2!= 0,进入if语句,输出结果1
以此类推 i=2 输出结果4
i = 3 输出结果3
这个函数就是把0~9的奇数直接输出,偶数+2输出 从0-9依次判断余数是否为零
不为零就打印,然后继续循环
其他的就加2,再打印 谢谢大家,我懂啦
页:
[1]