记住逻辑关系
花时间记住以上逻辑关系,不过看起来看是比较简单的。
布尔表达式练习
上一节学习的逻辑组合的正式名称是“布尔逻辑表达式”。在编程中,布尔逻辑可以说无处不在,是计算机运算的基础和重要组成部分。写出认为的答案,
练习部分
1. True and True
2. False and True
3. 1 == 1 and 2 == 1
4. "test" == "test"
5. 1 == 1 or 2 != 1
6. True and 1 == 1
7. False and 0 != 0
8. True or 1 == 1
9. "test" == "testing"
10. 1 != 0 and 2 == 1
11. "test" != "testing"
12. "test" == 1
13. not (True and False)
14. not (1 == 1 and 0 != 1)
15. not (10 == 1 or 1000 == 1000)
16. not (1 != 10 or 3 == 4)
17. not ("testing" == "testing" and "Zed" == "Cool Guy")
18. 1 == 1 and not ("testing" == 1 or 1 == 0)
19. "chunky" == "bacon" and not (3 == 4 or 3 == 3)
20. 3 == 3 and not ("testing" == "testing" or "Python" == "Fun"
)
所有的布尔逻辑表达式都可以用下面的简单流程得到结果:
1.找到相等判断的部分 (
== or !=
),将其改写为其最终值(True
或False
)。2.找到括号里的
and/or
,先算出它们的值。3.找到每一个
not
,算出他们反过来的值。4.找到剩下的
and/or
,解出它们的值。5.等你都做完后,剩下的结果应该就是
True
或者False
了。
如果(if
)
练习部分
people = 20
cats = 30
dogs = 15
if people < cats:
print "Too many cats! The world is doomed!"
if people > cats:
print "Not many cats! The world is saved!"
if people < dogs:
print "The world is dry!"
dogs += 5
#print dogs
if people >= dogs:
print "People are greater than or equal to dogs."
if people <= dogs:
print "People are less than or equal to dogs."
if people == dogs:
print "People are dogs."
和书中的代码有区别的地方是我多输入了一句print dogs
,
因为我开始并不懂dogs += 5
的作用,打印之后显示为dogs + 5
。
加分习题
1.if
对于它下一行的代码作用是:当if
的条件成立时,就执行if
下边的命令。
2.if
下一行需要缩进的作用是告诉脚本,缩进后的内容是属于if
的。
3.如果不缩进,系统会报错:expected an indented block
。
4.把习题 27中的其它布尔表达式放到if语句
中会不会也可以运行呢?
我自己写的代码是:
if True and False:
print "0"
else:
print "1"
因为True and False
是False
,所以打印“1”。