xiaodong1126 发表于 2020-6-15 19:57:26

这个条件为什么一直成立?

while 'C':
    print('我爱鱼C!')


这个循环为什么一直做?while 'C':什么意思?

老八秘制 发表于 2020-6-15 20:00:02

在python中,除了0和False的任何字符串或是变量都视为True

Twilight6 发表于 2020-6-15 20:00:13

本帖最后由 Twilight6 于 2020-6-15 20:01 编辑




因为在Python中 只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False

只要是 非0 ,非空字符串、列表、字典 等 都可以看作布尔类型的值为 True

所以While 'C'可以等价看成While True

导致死循环

heidern0612 发表于 2020-6-15 20:23:43

while "c" 等价于 while “c”不为空(None),不为零,不为假(False)。

因为"c"本身就是一个值,这个值不是空值,也不是假值,也不是0.所以一直成立。

xiaodong1126 发表于 2020-6-15 20:27:24

哇,你们太厉害了!

qiuyouzhi 发表于 2020-6-15 20:42:46

xiaodong1126 发表于 2020-6-15 20:27
哇,你们太厉害了!

1,不回复,别人看不见你说的内容。
2, 不光0和False是假,{},[],"",(),这些都是False,
如果不确定一个东西是不是False,可以用bool函数来判断。

xiaodong1126 发表于 2020-6-15 21:16:00

qiuyouzhi 发表于 2020-6-15 20:42
1,不回复,别人看不见你说的内容。
2, 不光0和False是假,{},[],"",(),这些都是False,
如果不确定一 ...

谢谢,我以为我说话他们就能看到的。
页: [1]
查看完整版本: 这个条件为什么一直成立?