《笨方法学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) 编辑 收藏 举报