鱼C论坛

 找回密码
 立即注册
查看: 1762|回复: 15

为什么这里要先加1呢,不打印0么

[复制链接]
发表于 2020-3-8 18:41:17 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 一个账号 于 2020-3-8 18:43 编辑
i = 0
while i <= 100:
    if i % 2 != 0:
        print(i, end=' ')
        i += 1
    else:
        i += 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-8 18:46:04 | 显示全部楼层
求的是不能被二整除的数啊,0除以2余0,所以这个通过
然后就+=1了嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 18:58:35 | 显示全部楼层
i+1 进入下个数
模拟一下:

循环开始:第一次 i=1
                      - 是不是偶数 (不是)
                      - i=i+1

                第二次 i+2 (刚才加了1,所以变成了2)
                       -是不是偶数(是)
                       -i=i+1
                ……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 18:59:10 | 显示全部楼层
其实代码还可以在简化:
i = 0
while i <= 100:
    if i % 2 != 0:
        print(i, end=' ')
   i=1+1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-8 19:36:14 | 显示全部楼层
liuzhengyuan 发表于 2020-3-8 18:58
i+1 进入下个数
模拟一下:

第一次不该是0 么,为啥要先加个1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 19:37:52 | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-3-8 19:39 编辑
子非雨 发表于 2020-3-8 19:36
第一次不该是0 么,为啥要先加个1


是因为“%”对0不起作用吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-8 19:39:16 | 显示全部楼层
liuzhengyuan 发表于 2020-3-8 19:37
没有先加一呀,实现判断完再加的呀

那个0 除以2不也是余数为零么,为何不打印出来呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 19:40:14 | 显示全部楼层
子非雨 发表于 2020-3-8 19:39
那个0 除以2不也是余数为零么,为何不打印出来呢

是因为“%”对0不起作用吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 19:42:21 | 显示全部楼层
子非雨 发表于 2020-3-8 19:39
那个0 除以2不也是余数为零么,为何不打印出来呢

你这是 !=(不等于)
0%2=0!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-8 19:42:27 | 显示全部楼层
qiuyouzhi 发表于 2020-3-8 18:46
求的是不能被二整除的数啊,0除以2余0,所以这个通过
然后就+=1了嘛

既然余数为零,那边不是该打印出来么....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-8 19:43:29 | 显示全部楼层
liuzhengyuan 发表于 2020-3-8 19:42
你这是 !=(不等于)
0%2=0!

我看成那个 双等号了....打扰了...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 19:44:32 | 显示全部楼层
print(' '.join([str(2*i-1) for i in range(1,51)])) 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-8 19:44:51 | 显示全部楼层
子非雨 发表于 2020-3-8 19:42
既然余数为零,那边不是该打印出来么....

我看错,,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 20:10:31 | 显示全部楼层
子非雨 发表于 2020-3-8 19:42
既然余数为零,那边不是该打印出来么....

你这是不等于啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 10:39:27 | 显示全部楼层
i = 0 # 给变量 i 赋值 0
while i <= 100: # 定义一个循环 如果 i 小于等于 100 就启动循环
    if i % 2 != 0:  # 如果 i 是奇数 
        print(i, end=' ') # 就打印 i
        i += 1 # 同时 i 再加 1
    else: # 如果 i 是偶数 i 就 += 1
        i += 1

# 在第一次循环是因为 i 是 0 在循环中if 语句中 i 求余为 0 , if 语句判断为 False ,直接执行else i += 1 , 之后第二次执行到 if 语句 求余结果是 1 不等于 0 , if 语句判断为 True , 执行打印 i 之后 在 += 1
 ,之后在次执行第三次循环,以此类推。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 12:54:42 | 显示全部楼层
他难道不是后加1吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 08:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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