笨方法学python电子书里下面习题27-34
习题27:记住逻辑关系;
--coding:utf-8--
练习27
记录真假
①理解会比强记更牢靠;
②后面的比较复杂的布尔运算其实就是 与或非 + 4个等于判定 + 真假值 的组合,所以真值表一定要非常熟悉;
③网上找到的一个速记口诀:真真得真(与运算),假假得假(或运算),同假异真(异或运算)。
--NOT--
not False = True
not True = False
--OR--
True or False = True
True or True = True
False or True = True
False of False = False
-- AND --
True and False = False
True and True = True
False and True = False
False and False = False
--NOT OR ----
not(True or False) = False
not(True or Ture) = False
not(False or True) = False
not(False or False) = True
---NOT AND----
not(True and False) = True
not(True and True) = False
not(False and True) = True
not(False and False) = True
---!=---
1 != 0 True
1 != 1 False
0 != 1 True
0 != 0 Fase
-----== ----
1 == 0 False
1 == 1 True
0 == 1 False
0 == 0 True
习题28:布尔表达式练习;
--coding:utf-8--
练习28 布尔表达式练习
!=
print ("1.", True and True) # True
print ("2.", False and True) # False
print ("3.", 1 == 1 and 2 == 1) #False
print ("4.", "test" == "test") #True
print ("5.", 1 == 1 or 2 != 1) #True
print ("6.", True and 1 == 1) # True
print ("7.", False and 0 != 0) #False
print ("8.", True or 1 == 1) #True
print ("9.", "test" == "testing") #False
print ("10.", 1 != 0 and 2 == 1) #False
print ("11.", "test" != "testing") #True
print ("12.", "test" == 1) #False
print ("13.", not (True and False)) #True
print ("14.", not (1 == 1 and 0 != 1)) #False
print ("15.", not (10 == 1 or 1000 == 1000)) #False
print ("16.", not (1 != 10 or 3 == 4)) #False
print ("17.", not ("testing" == "testing" and "Zed" == "Cool Guy")) #True
print ("18.", 1 == 1 and not ("testing" == 1 or 1== 0)) #True
print ("19.", "chunkey" == "bacon" and not (3 == 4 or 3 == 3)) #False
print ("20.", 3 == 3 and not ("testing" == "testing" or "Python" == "Fun")) #False
加分习题
1.等价: 〈〉 or != , < or <=, > or >=,
2.写出每一个等价运算符的名称:
+ plus 加号
- minus 减号
/ slash 斜杠
* asterisk 星号
% percent 百分号
< less - than 小于号
> greater - than 大于号
<= less - than - equal 小于等于号
>= greater - than - equal 大于等于号
== equal equal 绝对等于
!= not equal 不等于
习题29:如果(if)
--coding:utf-8--
练习 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 dogs.")
加分习题
1.if进行判断是否执行下一行代码
2.python用来表示一个新的代码段,但不一定需要4个空格,可以用tab键,或二个空格缩进,并不一定需要4个空格
3.如果不缩进,就无法执行,会发生错误;
4.可以,true执行下一行代码,false执行其他if判断或跳过此if代码区段
5.初始值改掉,会影响if条件判断结果,对输出会有问题。
.
习题30:Else和if;
--coding:utf-8--
练习 30:Else and if
people = 70
cars = 10
buses = 200
if cars > people:
print ("We should take the cars.")
elif cars < people or buses < cars:
print ("We should not take the cars.")
else:
print ("We cat'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.")
加分习题
1.elif 是if一个分析条件判断语句,else表示否则其他条件结束
习题31:作出决定;
--coding:utf-8--
练习31 :作出决定
python3.6不支持raw_input(),只支持input()
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 revolvers yelling melodies.")
insanity = input("> ")
if insanity == "1" or insanity == "2":
print ("Your body survives powered by a mind of jello.Good job!")
else:
print ("The insanity rots your eyes into a pool of muck.Good job!")
else:
print ("You stumble around and fall on a knife and die. Good job!")
习题32:循环和列表;
--coding:utf-8--
练习32 :循环和列表
the_count = [1, 2, 3, 4, 5]
fruits = ['apples', 'oranges', 'pears', 'apricots' ]
change = [1, 'pennies', 2, 'dimes', 3, 'quarters']
this first kind of for-loop goes through a list
for number in the_count:
print ("This is count %d" % number)
same as above
for fruit in fruits:
print ("A fruit of type: %s" % fruit)
also we can go through mixed lists too
notice we have to use %r since we don't know what's in it
for i in change:
print ("I got %r" % i)
we can also build lists, first start with an empty one
elements = []
then use the range function to do 0 to 5 counts
for i in range(0, 6):
print ("Addming %d to the list." % i)
#append is a function that lists understand
elements.append(i)
now we can print them out too
for i in elements:
print ("Element was: %d" % i)
加分习题
2.第22行,可以直接赋值,采用elements = list(range(0,6))
3.append外还有extend排序,insert插入,index索引,sort排序,count计数,reverse反转,pop删除最后一个,remove()删除指定
习题33:While 循环;
--coding:utf-8--
练习33 while循环
while loop 直到布尔表达式为False会停止,如果以:(冒号,colon)结尾
i = 0
numbers = []
while i < 6:
print ("At the top i is %d" % i)
numbers.append(i)
i = i + 1
print ("Numbers now:", numbers)
print ("At the bottom i is %d" % i)
print ("The numbers: ")
for num in numbers:
print (num)
习题34:访问列表的元素;
--coding:utf-8--
习题34 访问列表的元素
animals = ['bear', 'python', 'peacock', 'kangaroo', 'whale', 'platypus']
print ("The 1st animal is at 0 and is a", animals[1-1], ".")
print ("The animal at 0 is the 1st animal and is a", animals[1-1], ".")
print ("The 2st animal is at 1 and is a", animals[2-1], ".")
print ("The animal at 1 is the 2st animal and is a", animals[2-1], ".")
print ("The 3st animal is at 2 and is a", animals[3-1], ".")
print ("The animal at 2 is the 3st animal and is a", animals[3-1], ".")
print ("The 4st animal is at 3 and is a", animals[4-1], ".")
print ("The animal at 3 is the 4st animal and is a", animals[4-1], ".")
print ("The 5st animal is at 4 and is a", animals[5-1], ".")
print ("The animal at 4 is the 5st animal and is a", animals[5-1], ".")
print ("The 6st animal is at 5 and is a", animals[6-1], ".")
print ("The animal at 5 is the 6st animal and is a", animals[6-1], ".")
print ("*" * 50)
print ("select for-loop")
j = 0
for i in animals:
j = j + 1
print ("The %d st animal is at %d and is a %s." % (j, j-1 ,animals[j-1]))
print("The animal at %d is the %d st animal and is a %s." % (j-1, j, animals[j-1]))