关于continue语句的求助
for i in range(10):if i%2 != 0:
print(i,end=" ")
continue
i += 2
print(i,end=" ")
小弟天资愚钝,心中苦闷,特来求解
1、当i=0的时候,0%2的余数是0 不满足 !=0这个条件,所以i直接到这里面 i+=2,结果是0+2=2,所以print的第一个结果是2
2、当i=1的时候,1%2的余数是1 满足!=0这个条件,所以直接print的结果就是1
3、当i=2的时候,2%2的余数是0 不满足!=0这个条件,所以i直接到这里面 i+=2,结果是2+2=2,所以print的第一个结果是4
请问大家,我这个理解过程正确么?
另外 有两个小学级别的问题
1、为什么0%2的余数是0,0不是不能作为被除数吗?
2、1%2的余数又怎么是1??1/2不该等于0.5么? 本帖最后由 heidern0612 于 2019-1-19 10:31 编辑
你理解是对的,continue满足的话,就直接返回for循环,不往下进行了。
1、0不能作为除数,不是被除数,如果0作为除数进行计算的话,Python会抛出个除0错误的提示。
2、1%2余数只能是自己,因为没办法被2除,没有办法被某数整数时,返回的都是除商后剩余的数,例如7%2,这里结果是1,相等于2*3+1。
注意这里求的是余数,而不是实际结果。求实际结果的话,就用对应的7/2就可以。 heidern0612 发表于 2019-1-19 10:29
你理解是对的,continue满足的话,就直接返回for循环,不往下进行了。
1、0不能作为除数,不是被除数,如 ...
谢谢!!真的是很清晰易懂
页:
[1]