设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 11892|回复: 6
打印 上一主题 下一主题

关于if的判断条件

[复制链接]

1

主题

0

好友

29

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2013-11-3 15:47:23 |只看该作者 |倒序浏览
本帖最后由 java007 于 2013-11-3 15:55 编辑

Crossin老师 Pyer们 我初学python 碰到一个问题 想请教各位
pyhthon第7课里Crossin老师提到这个 如图thisIslove

我输的程序如图p1
运行结果 如图r1
1)输入True打印 do not leave
2)输入False不打印
3)输入某字符 比如'q' 打印 do not leave

而我认为 输入除True,False之外的其他字符时,应该也不打印才对。否则容易造成错误判断。

此问题来源于这段程序,如图p2

灰色那一行是错的,下一行是对的。
原因就在于这一句是对 '傻' 这个字符以及'聪' not in a这两个句子的判断。
输入 傻,会打印第一个if和第三个if的两行结果。

综上,我的问题是对于那个例子,为什么输入随便一个字符会相当于输入True?

thisIslove.PNG (10.54 KB, 下载次数: 496)

thisIslove

thisIslove

p1.PNG (2.09 KB, 下载次数: 488)

p1

p1

r1.PNG (5.86 KB, 下载次数: 488)

r1

r1

p2.PNG (7.91 KB, 下载次数: 490)

p2

p2

回复

使用道具 举报

1

主题

0

好友

29

积分

新手上路

Rank: 1

沙发
发表于 2013-11-3 15:52:28 |只看该作者
边看教程边等回复
回复

使用道具 举报

0

主题

0

好友

62

积分

注册会员

Rank: 2

板凳
发表于 2013-11-3 23:10:09 |只看该作者
if的判断是以“是否非零”为准的,既然有输入,又不是False,那就要执行
回复

使用道具 举报

1

主题

0

好友

29

积分

新手上路

Rank: 1

地板
发表于 2013-11-3 23:23:18 |只看该作者
意思是把除False以外的输入都当作True?
不太明白“是否非零”是啥意思。能再解释一下吗?谢谢。
回复

使用道具 举报

174

主题

45

好友

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2013-11-3 23:53:42 |只看该作者
java007 发表于 2013-11-3 23:23
意思是把除False以外的输入都当作True?
不太明白“是否非零”是啥意思。能再解释一下吗?谢谢。 ...

对于其他类型的值,除了0,空字符,空集(如(),[],{}),其他值转换成bool值都是True。
其实这个在后面的某节课里会有讲到的
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

29

积分

新手上路

Rank: 1

6#
发表于 2013-11-4 11:04:44 |只看该作者
crossin先生 发表于 2013-11-3 23:53
对于其他类型的值,除了0,空字符,空集(如(),[],{}),其他值转换成bool值都是True。
其实这个在后面的 ...

哦,是这样啊。谢谢。
后面的课程还没看到,不好意思。嗯,我会注意这个的。
已加入笔记。MIT.
回复

使用道具 举报

0

主题

0

好友

62

积分

注册会员

Rank: 2

7#
发表于 2013-11-6 07:48:06 |只看该作者
其实我也不太懂,还是crossin先生讲的明白
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-12-22 13:34 , Processed in 0.018640 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部