《笨方法學Python》加分題29

加分練習
猜一猜 「if 語句」 是什麼,他有什麼做用。在作下一道題以前,試着用本身的話回答下面的問題:less

你認爲 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 語句的使用。跑一下結果以下。 
這裏寫圖片描述spa

 

29.1 if 語句的做用
分析一下前四段 if 語句能夠發現 if 語句的做用code

if 語句會根據其中語句的布爾值(True、False)影響其下一行代碼是否執行。
若是是真 (if something Ture),就執行下面的代碼。不然不執行。
29.2 爲何 if 語句下面一行的代碼須要 4 個空格? + 29.3 若是不縮進會怎樣?
這和咱們在函數裏面遇到的狀況同樣,4 個空格表示了哪些代碼屬於此條 if 語句。

blog

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!")