习题 27:记住逻辑关系
逻辑术语
and 与 or 或 not 非 != 不等于 == 等于 >= 大于等于 <= 小于等于 True 真 False 假
习题 28:布尔表达式练习
习题 29: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 drooled on!") if people > dogs: print("The world is dry!") dogs += 5 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 euqal to dogs.")
习题 30:else 和 if
people = 30 cars = 40 buses = 15 if cars > people: print("We should take the cars.") elif cars < people: print("We should not take the cars.") else: print("We can't decide.") if buses > cars: print("That's too many buses.") elif buses < cars: print("Maybe we could take the buses.") else: print("We still can't decide.") if people > buses: print("Alright, let's just take the buses.") else: print("Fine, let's stay home then.")
常见问题回答:
如果多个 elif 块都是 True,Python 会如何处理?
Python 只会运行它遇到的是 True 的第一个块,所以只有第一个为 True 的块会运行。
习题 31:做出决定
print("You enter a dark room with two doors. Do you go through door #1 or door #2?") door = input("> ") if door == "1": print("There's a giant bear here eating a cheese cake. What do you do?") print("1. Take the cake.") print("2. Scream at the bear.") bear = input("> ") if bear == "1": print("The bear eats your face off. Good job!") elif bear == "2": print("The bear eats your legs off. Good job!") else: print("Well, doing %s is probably better. Bear runs away." % bear) elif door == "2": print("You stare into the endless abyss at Cthulhu's retina.") print("1. Blueberries.") print("2. Yellow jacket clothespins.") print("3. Understanding rebolvers yelling melodies.") insanity = input("> ") if insanity == "1" or insanity == "2": print("Your body survives powered by a mind of jelllo. Good job!") else: print("The insanity rots your eyes into a pool of muck. Good job!") else: print("Your stumble around and fall on a knife and die. Good job!")