鱼C论坛

 找回密码
 立即注册
查看: 2019|回复: 4

python第九讲

[复制链接]
发表于 2019-11-7 22:06:19 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
for i in range(10)
        if i%2!=0
         print(i)
         continue
        i+=2
        print(1)
结果结果是
2
1
4
3
6
5
8
7
10
9
有一个很奇怪的地方range(10)是等于(0,9)不包括十这个数字,怎么会显示十呢,哭唧唧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-11-7 22:10:18 | 显示全部楼层
i为8时,i+=2,print(i)结果就是10
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-7 22:57:23 | 显示全部楼层
本帖最后由 jackz007 于 2019-11-7 22:59 编辑

      为了说明问题,把原代码改写一下:
  1. for i in range(10):
  2.     if i % 2 != 0:
  3.         print(i)
  4.     else:
  5.         print(i + 2)
复制代码

      这个代码在 i = 0 ~ 9 的范围内,根据 i 的奇偶决定打印输出的数值,当 i 为奇数时,直接打印输出 i,为偶数时,打印输出 i + 2,显然,当 i = 8 时,i + 2 的值就是 10
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-8 11:17:17 | 显示全部楼层
楼上正解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-8 20:46:08 | 显示全部楼层
因为当 i 可以被 2 整除时,有一句代码 i += 2,会将 i 的值加 2,当 i 为 8 时加 2 就是 10,所以就造成了这种错觉。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-20 15:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表