鱼C论坛

 找回密码
 立即注册
查看: 1424|回复: 9

除不尽的时候会一直循环为什么?

[复制链接]
发表于 2019-1-21 21:22:50 | 显示全部楼层 |阅读模式

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

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

x
i = 11
while i:
    print('Where are you from?')
    i = i - 2

i = 9,7之类的也是,为什么捏??
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-21 21:35:00 | 显示全部楼层
如果i = 9,如何想办法让他输出 4次呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-21 21:36:10 | 显示全部楼层
因为你的程序中循环的判断条件是整型i的值,在循环体中对i进行的减2操作,会跳过i=0
然而,用整型变量做真假判断,只有i=0时,才为False,所以这个判断条件永远为真,程序近进入了死循环。

PS:bool类型是int类型的子类,bool中的True=1,False=0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-21 21:49:34 | 显示全部楼层
i = 9
while i>2:
    print('Where are you from?')
    i = i - 2
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 00:02:54 | 显示全部楼层
塔利班 发表于 2019-1-21 21:49
i = 9
while i>2:
    print('Where are you from?')

似乎是可以,可到 i = 10的时候就不行了,只打印4个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-22 00:07:31 | 显示全部楼层
sunrise085 发表于 2019-1-21 21:36
因为你的程序中循环的判断条件是整型i的值,在循环体中对i进行的减2操作,会跳过i=0
然而,用整型变量做真 ...

对的,后来我发现while循环是判断True或者False的,但是奇偶整数都兼容的答案还没有出现~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 07:56:41 | 显示全部楼层
tao ge if han shu
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 20:25:14 From FishC Mobile | 显示全部楼层
你一直都没有说清楚你的需求。是打算输入一个正整数,然后当i为偶数的时候输出一次,9和8都是输出四次,对么?按照这个意思写了一下
i = 11
while i>0:
    if i/2==0:
        print('Where are you from?')
    i = i - 1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-22 22:47:58 | 显示全部楼层
本帖最后由 Stubborn 于 2019-1-22 22:53 编辑

  1. i = 11
  2. while i:   #判断为假的条件才会退出,没有判断条件,非空非0为真。
  3.     print('Where are you from?')
  4.     i = i - 2
复制代码


首先当i=0才会跳出循环体,你这里i是得不到0的值的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-29 22:12:32 | 显示全部楼层
while循环只要条件不为true会一直循环下去,如果你只想循环几次,可以用for循环
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-1 03:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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