|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 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就可以。
|
|