设为首页收藏本站

Crossin的编程教室

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

【Python 第11课】 逻辑判断

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-9-13 19:59:30 |只看该作者 |正序浏览

之前粗略地提到bool类型的变量,又说到if和while的判断条件。有些同学反馈说没怎么理解,为什么一会儿是bingo=False,一会又是bingo==False,一会儿是while在条件为True的时候执行,一会儿又是while在bingo==False的时候执行。别急,你听我说。


首先,要理解,一个逻辑表达式,其实最终是代表了一个bool类型的结果,比如:


1 < 3

这个就像当于是一个True的值


2 == 3

这个就是False


把它们作为判断条件放到if或者while的后面,就是根据他们的值来决定要不要执行。


同样的栗子再来几颗:


a = 1

print a>3  #False

print a==2-1  #True

b = 3

print a+b==2+2  #True


比较容易搞混的,是bool变量的值和一个逻辑表达式的值,比如:


a = False

print a  #False

print a==False  #True


虽然a本身的值是False,但是a==False这个表达式的值是True。(说人话!)“a”是错的,但“a是错的”这句话是对的。


回到上面那几个概念:


bingo=False

把bingo设为一个值为False的变量


bingo==False

判断bingo的值是不是False,如果是,那么这句话就是True


while在判断条件条件为True时执行循环,所以当bingo==False时,条件为True,循环是要执行的。


晕了没?谁刚学谁都晕。不晕的属于骨骼惊奇百年一遇的编程奇才,还不赶紧转行做程序员!


逻辑这东西是初学编程的一大坑,我们后面还要在这个坑里挣扎很久。


留个习题:

a = True

b = not a  #不记得not请看第6课

想想下面这些逻辑运算的结果,然后用print看看你想的对不对:

b

not b

a == b

a != b

a and b

a or b

1<2 and b==True


#==== Crossin的编程教室 ====#
微信ID:crossincode
论坛:http://crossin.me
QQ群:156630350

面向零基础初学者的编程课
每天5分钟,轻松学编程




#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

16#
发表于 2021-8-10 23:15:25 |只看该作者
cheer 发表于 2021-8-10 16:20
完蛋,卡壳了!还是不懂bingo在这里有什么用!这还学的下去吗

把bingo想象成一个开关(这个词中文意思是“猜中”)
循环的条件是这个开关是关着的
猜中了,就把这开关打开,循环就结束了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

25

积分

新手上路

Rank: 1

15#
发表于 2021-8-10 16:20:18 |只看该作者
完蛋,卡壳了!还是不懂bingo在这里有什么用!这还学的下去吗
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

14#
发表于 2016-11-25 13:59:10 |只看该作者
感谢!!!
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

13#
发表于 2016-4-22 11:08:06 |只看该作者
Killuia 发表于 2016-4-21 16:09
貌似我的逻辑都有一定能力,看之前的代码都暂时可以理解到意思,但就系之前的习题独自做不出,要参考过才可 ...

这其实还是写得不够多,熟能生巧

注释就直接和代码一起保存啊
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

120

积分

注册会员

Rank: 2

12#
发表于 2016-4-21 16:09:06 |只看该作者
貌似我的逻辑都有一定能力,看之前的代码都暂时可以理解到意思,但就系之前的习题独自做不出,要参考过才可以粗略写出……而且自己注释的怎样才可以保存,以后打开重看有了解自己当初是怎样理解怎样思考的?
回复

使用道具 举报

0

主题

1

好友

132

积分

注册会员

Rank: 2

11#
发表于 2015-12-2 14:36:42 |只看该作者
一个是bool类型变量,一个是作为一般的变量来进行比较是否一致。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

10#
发表于 2015-9-1 17:43:42 |只看该作者
你让我好慌张 发表于 2015-9-1 16:04
难道我就是那个百年一遇的编程奇才?请老师招安我

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

12

积分

新手上路

Rank: 1

9#
发表于 2015-9-1 16:04:10 |只看该作者
难道我就是那个百年一遇的编程奇才?请老师招安我
回复

使用道具 举报

0

主题

0

好友

54

积分

注册会员

Rank: 2

8#
发表于 2015-5-27 18:30:44 |只看该作者
  1. a=True
  2. b=not a
  3. print b  #False
  4. print not b  #True
  5. print a==b  #False
  6. print a!=b  #True
  7. print a and b  #False
  8. print a or b  #True
  9. print 1<2 and b==True  #False
复制代码
回复

使用道具 举报

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

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

GMT+8, 2024-11-23 19:14 , Processed in 0.016658 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部