阿加西的python之旅

《笨方法学Python》加分题29

加分练习
猜一猜 “if 语句” 是什么,他有什么作用。在做下一道题之前,试着用自己的话回答下面的问题:

你认为 if 对他下一行代码做了什么?
为什么 if 语句的下一行需要 4 个空格缩进?
如果不缩进,会发生什么事情?
把练习 27 中的其它布尔表达式放到 if 语句中会不会也可以运行呢?试一下。
如果把变量 people, cats 和 dogs 的初始值改掉,会发生什么事情?

 1 people = 20
 2 cats = 30
 3 dogs = 15
 4 
 5 
 6 if people < cats:
 7     print("Too many cats! The world is doomed!")
 8 
 9 if people > cats:
10     print("Not many cats! The world is saved!")
11 
12 if people < dogs:
13     print("The world is drooled on!")
14 
15 if people > dogs:
16     print("The world is dry!")
17 
18 dogs += 5
19 
20 if people >= dogs:
21     print("People are greater than or equal to dogs.")
22 
23 if people <= dogs:
24     print("People are less than or equal to dogs.")
25 
26 if people == dogs:
27     print("People are dogs.")

从打字上来说这一题挺简单的,不过重点在于理解 if 语句的使用。跑一下结果如下。 
这里写图片描述

 

29.1 if 语句的作用
分析一下前四段 if 语句可以发现 if 语句的作用

if 语句会根据其中语句的布尔值(True、False)影响其下一行代码是否执行。
如果是真 (if something Ture),就执行下面的代码。否则不执行。
29.2 为什么 if 语句下面一行的代码需要 4 个空格? + 29.3 如果不缩进会怎样?
这和我们在函数里面遇到的情况一样,4 个空格表示了哪些代码属于此条 if 语句。

a = 1
b = 2
c = 3

if a < b:
    print("这是第一行")
    print("这是第二行")
    if c < a:
        print("这是第三行")
    print("这是第四行")
print("这是第五行")

print("-" * 10)
print("反过来条件试一下")

if a > b:
    print("这是第一行")
    print("这是第二行")
    if c > a:
        print("这是第三行")
    print("这是第四行")
print("这是第五行")

这里写图片描述 
可以看到,没有缩进的第五行是不受 if 语句影响的,而在缩进中的部分是否执行则在于 if 语句的真伪。

29.4 把 27 题改 if 语句

  1 print("Is 'not False' True?")
  2 if not False:
  3     print("Yes! is True!")
  4 
  5 print("\n------------------------")
  6 print("Is 'not True' True?")
  7 if not True:
  8     print("Yes! is True!")
  9 
 10 
 11 print("\n------------------------")
 12 print("Is 'True or True' True?")
 13 if True or True:
 14     print("Yes! is True!")
 15 
 16 
 17 print("\n------------------------")
 18 print("Is 'True or False' True?")
 19 if True or False:
 20     print("Yes! is True!")
 21 
 22 
 23 print("\n------------------------")
 24 print("Is 'False or True' True?")
 25 if False or True:
 26     print("Yes! is True!")
 27 
 28 
 29 print("\n------------------------")
 30 print("Is 'False or False' True?")
 31 if False or False:
 32     print("Yes! is True!")
 33 
 34 
 35 print("\n------------------------")
 36 print("Is 'True and True' True?")
 37 if True and True:
 38     print("Yes! is True!")
 39 
 40 
 41 print("\n------------------------")
 42 print("Is 'True and False' True?")
 43 if True and False:
 44     print("Yes! is True!")
 45 
 46 
 47 print("\n------------------------")
 48 print("Is 'False and True' True?")
 49 if False and True:
 50     print("Yes! is True!")
 51 
 52 
 53 print("\n------------------------")
 54 print("Is 'False and False' True?")
 55 if False and False:
 56     print("Yes! is True!")
 57 
 58 
 59 print("\n------------------------")
 60 print("Is 'not (True or True)' True?")
 61 if not (True or True):
 62     print("Yes! is True!")
 63 
 64 
 65 print("\n------------------------")
 66 print("Is 'not (True or False)' True?")
 67 if not (True or False):
 68     print("Yes! is True!")
 69 
 70 
 71 print("\n------------------------")
 72 print("Is 'not (False or True)' True?")
 73 if not (False or True):
 74     print("Yes! is True!")
 75 
 76 
 77 print("\n------------------------")
 78 print("Is 'not (False or False)' True?")
 79 if not (False or False):
 80     print("Yes! is True!")
 81 
 82 
 83 print("\n------------------------")
 84 print("Is 'not (True and True)' True?")
 85 if not (True and True):
 86     print("Yes! is True!")
 87 
 88 
 89 print("\n------------------------")
 90 print("Is 'not (True and False)' True?")
 91 if not (True and False):
 92     print("Yes! is True!")
 93 
 94 
 95 print("\n------------------------")
 96 print("Is 'not (False and True)' True?")
 97 if not (False and True):
 98     print("Yes! is True!")
 99 
100 
101 print("\n------------------------")
102 print("Is 'not (False and False)' True?")
103 if not (False and False):
104     print("Yes! is True!")
105 
106 
107 print("\n------------------------")
108 print("Is '1 != 1' True?")
109 if 1 != 1:
110     print("Yes! is True!")
111 
112 
113 print("\n------------------------")
114 print("Is '1 != 0' True?")
115 if 1 != 0:
116     print("Yes! is True!")
117 
118 
119 print("\n------------------------")
120 print("Is '0 != 1' True?")
121 if 0 != 1:
122     print("Yes! is True!")
123 
124 
125 print("\n------------------------")
126 print("Is '0 != 0' True?")
127 if 0 != 0:
128     print("Yes! is True!")
129 
130 
131 print("\n------------------------")
132 print("Is '1 == 1' True?")
133 if 1 == 1:
134     print("Yes! is True!")
135 
136 
137 print("\n------------------------")
138 print("Is '1 == 0' True?")
139 if 1 == 0:
140     print("Yes! is True!")
141 
142 
143 print("\n------------------------")
144 print("Is '0 == 1' True?")
145 if 0 == 1:
146     print("Yes! is True!")
147 
148 
149 print("\n------------------------")
150 print("Is '0 == 0' True?")
151 if 0 == 0:
152     print("Yes! is True!")

 

posted on 2018-12-27 19:05  阿加西的python之旅  阅读(209)  评论(0编辑  收藏  举报

导航