周黑鸭 发表于 2017-2-6 19:00:13

请问下这个为什么会打印十次 我爱鱼C!?

i = 10
while i:
    print('我爱鱼C!')
    i = i - 1

是默认i>0为真吗?{:10_254:}

小Q学Python 发表于 2017-2-6 19:34:08

0是为假,非0为真
NONE为假,非空为真

周黑鸭 发表于 2017-2-6 23:30:28

小Q学Python 发表于 2017-2-6 19:34
0是为假,非0为真
NONE为假,非空为真

意思就是i在减小到零之前会一直输出我爱鱼C,当i减小到零时为假,所以跳出循环结束输出?

、尾指一勾 发表于 2017-2-7 00:43:52

周黑鸭 发表于 2017-2-6 23:30
意思就是i在减小到零之前会一直输出我爱鱼C,当i减小到零时为假,所以跳出循环结束输出?

{:10_256:}就是这个意思 0 的布尔值为 假 你可以理解为 0 就是falsh

while条件为 0 也就是falsh 会停止

while条件大于0也就True 就不会停止。

浅笑无痕111 发表于 2017-2-7 09:09:26

1为真,0为假,while i》0的时候会一直执行下去。

wxq199459 发表于 2017-2-7 10:36:08

只要>1 默认为真 所以一直减到0跳出循环,因此打印十次

yjyj9527 发表于 2017-2-7 13:34:14

i = 100
while i:
    print('whomi')
    i = i - 30

这个为什么会死循环

Little.L 发表于 2017-2-7 13:52:56

yjyj9527 发表于 2017-2-7 13:34
i = 100
while i:
    print('whomi')


因为i永远不可能等于0,于是i 永远是True

Little.L 发表于 2017-2-7 13:56:38

、尾指一勾 发表于 2017-2-7 00:43
就是这个意思 0 的布尔值为 假 你可以理解为 0 就是falsh

while条件为 0 也就是falsh 会停 ...

亲。你是学德语的么?

yjyj9527 发表于 2017-2-7 14:16:01

Little.L 发表于 2017-2-7 13:52
因为i永远不可能等于0,于是i 永远是True

没有负数吗

Little.L 发表于 2017-2-7 14:22:38

yjyj9527 发表于 2017-2-7 14:16
没有负数吗

负数也是True 啊,只要不是零就都是True
你可以自己在idle上试试就知道了

yjyj9527 发表于 2017-2-7 14:23:36

Little.L 发表于 2017-2-7 14:22
负数也是True 啊,只要不是零就都是True
你可以自己在idle上试试就知道了

哦谢谢了{:5_110:}

五行缺五行 发表于 2017-2-7 14:36:26

这里的i是有数字的数据类型,逻辑值视为真,那么while后的条件语句为真,循环就继续,当i为0时,逻辑值为假,while后的条件语句为假,循环退出

岛木木 发表于 2017-2-7 15:07:03

同学习,来看一下

boy哈哈老咯 发表于 2017-2-7 23:01:09

好好看视频你就不会问这种问题!

陪你看雪 发表于 2017-2-8 13:37:36

只要不是0,都是true

liuyibo906 发表于 2017-2-21 18:06:54

有点疑问,while循环什么时候结束,执行部分是哪里,没有括号怎么分辨

sd小舅子 发表于 2017-2-21 19:47:56

liuyibo906 发表于 2017-2-21 18:06
有点疑问,while循环什么时候结束,执行部分是哪里,没有括号怎么分辨

缩进啊亲……

qiaosu 发表于 2019-8-19 20:20:39

本帖最后由 qiaosu 于 2019-8-19 20:56 编辑

wxq199459 发表于 2017-2-7 10:36
只要>1 默认为真 所以一直减到0跳出循环,因此打印十次

枫枫duck 发表于 2020-3-31 20:40:52

我明白了哈哈哈谢谢大家
页: [1]
查看完整版本: 请问下这个为什么会打印十次 我爱鱼C!?