鱼C论坛

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

[已解决]疑问贴

[复制链接]
发表于 2020-6-3 21:57:44 | 显示全部楼层 |阅读模式

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

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

x
while 'C':
    print('我爱鱼C!')
‘会造成死循环,原因是 while 后边的条件永远为真(True)’----对这句话不理解,while后面的是‘c’为什么是真呢       

i = 10
while i:
    print('我爱鱼C!')
    i = i - 1
这个代码和上面的代码一比较,我就有点理解不了了,while ‘i’  和while i  的区别是什么呀
最佳答案
2020-6-3 22:02:13
要知道Python中只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False

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


所以你第一个循环 while 'C'  以 'C' 字符串作为循环条件,只要字符串不为空字符串,永远条件为 True 所以才会死循环

而第二个循环是限定次数的 i 是参数而不是字符串 ,i = 0 时候条件为 False 退出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-3 21:58:43 | 显示全部楼层
也不能是假啊,0?None?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 21:59:40 | 显示全部楼层
字符串当然为真,如果是内是正数变量,并且每运行一次-1,就不会死循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:00:21 | 显示全部楼层
第二段代码,如果i变成0,循环结束
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:02:13 | 显示全部楼层    本楼为最佳答案   
要知道Python中只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False

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


所以你第一个循环 while 'C'  以 'C' 字符串作为循环条件,只要字符串不为空字符串,永远条件为 True 所以才会死循环

而第二个循环是限定次数的 i 是参数而不是字符串 ,i = 0 时候条件为 False 退出循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:02:36 | 显示全部楼层
本帖最后由 青出于蓝 于 2020-6-3 22:16 编辑

字符串永远为真,而如果变量为0就返回假

刚才回答有问题,sorry,空字符串为假,在这里用不到哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:04:46 | 显示全部楼层
青出于蓝 发表于 2020-6-3 22:02
字符串永远为真,而如果变量为0就返回假

除了 空字符串 永远为真!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:05:47 | 显示全部楼层
Twilight6 发表于 2020-6-3 22:04
除了 空字符串 永远为真!

0时假
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:06:19 | 显示全部楼层
我记得0是假,嗯哼,没错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:06:27 | 显示全部楼层

我意思是你说错了 字符串除了空字符串 其他才为真 不是只要是字符串都为真

评分

参与人数 1鱼币 +1 收起 理由
青出于蓝 + 1 还是谢谢

查看全部评分

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

使用道具 举报

发表于 2020-6-3 22:11:20 | 显示全部楼层
Twilight6 发表于 2020-6-3 22:06
我意思是你说错了 字符串除了空字符串 其他才为真 不是只要是字符串都为真

我知道,没说而已。这里用不到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:13:47 | 显示全部楼层
青出于蓝 发表于 2020-6-3 22:11
我知道,没说而已。这里用不到

这样会误导别人的,你说为字符串就全为真这句话就是错的...
而且第一个循环就是用到这个知识点 为什么没用到?
答题要负责点 知错能改,我之前也经常出错,多亏其他鱼油帮我纠正

评分

参与人数 1鱼币 +1 收起 理由
青出于蓝 + 1 主要是我寻思着,不太好理解,针对此题,可.

查看全部评分

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

使用道具 举报

发表于 2020-6-3 22:14:38 | 显示全部楼层
Twilight6 发表于 2020-6-3 22:13
这样会误导别人的,你说为字符串就全为真这句话就是错的...
而且第一个循环就是用到这个知识点 为什么没 ...

谢谢-.-下回注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:15:24 | 显示全部楼层
空字符串不怎么用到....下回一定注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-3 22:22:55 | 显示全部楼层
感谢两位鱼油们我懂了嘻嘻
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 22:23:57 | 显示全部楼层
橘猫啊啊 发表于 2020-6-3 22:22
感谢两位鱼油们我懂了嘻嘻

没事 加油吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 17:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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