鱼C论坛

 找回密码
 立即注册
查看: 916|回复: 7

各位大佬行行好

[复制链接]
发表于 2018-11-8 08:52:48 | 显示全部楼层 |阅读模式

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

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

x
i = 0
while i<=100:
    if i%2 !=0:
        print(i, end='')
       i +=1
    else:
        i +=1

为什么我把红色字体中的 1 换成2 也是 同样的结果?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-11-8 09:02:45 | 显示全部楼层
因为只有进入if语句,才print,而只有 i 递增2才能进去
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-8 09:15:08 | 显示全部楼层
你在else语句下的i +=1后面加一个print语句就能看到区别了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-8 09:15:13 | 显示全部楼层
应为 第一个 符合打印条件的是  1  ,然后 你  +2  得出的永远没有可能不符合条件,,,

原代码+1  ,还有可能跳到else  这一行去执行 ,

这部分代码的作用就是,找出100 以内的奇数,  在代码里加一行,再更改  +1 ,+2 的问题,分别执行下,更好理解
  1. i = 0
  2. while i<=100:
  3.     if i%2 !=0:
  4.         print(i, end='')
  5.         i +=1
  6.     else:
  7.         i +=1

  8.         print(i, end='')    #多加一行打印
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-8 09:16:23 | 显示全部楼层
过来顶一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-8 09:18:27 | 显示全部楼层
你的条件是,筛选出100以内所有的奇数,当if条件为真时,输出i的值,然后值行i+=1,如果此处是i+=1,那么以后的条件判断会有机会是假,若是改成I+=2,那么每次加2就永远是真。
比方说1+2=3, 3+2=5
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-8 09:18:54 | 显示全部楼层
你每次i都是什么,if条件是什么时候满足,这得明白
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-8 09:33:41 | 显示全部楼层
else语句只有一第一次执行了,之后每次都为奇数,且在if语句内加2,如此循环,结果当然一样了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-10 18:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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