一, 作业内容
笨办法学Python习题27-34
二, 作业代码
习题27 记住逻辑关系
and 与
or 或
not 非
!= 不等于
== 等于
>= 大于等于
<= 小于等于
True 真
False 假
习题28 布尔表达式练习
print(True and True)
print(1==1 and 2 ==1)
print(1==1 and 2==1)
print("Test"== "test")
print(1==1 or 2!=1)
print(True and 1 == 1)
print(False and 0 != 0)
print(True or 1 == 1)
print("test" == "testing")
print(1 != 0 and 2 ==1)
print("test" != "testing")
print("test" == 1)
print(not(True and False))
print(not(1 == 1 and 0 != 1))
print(not(10 == 1 or 1000 == 1000))
print(not(1 != 10 or 3 == 4))
print(not("testing"== "testing" and "Zed" == "Cool Guy"))
print(1 == 1 and not ("testing" == 1 or 1 == 0))
print("chunky" =="bacon" and not (3 == 4 or 3 == 3))
print(3 ==3 and not("testing" == "testing" or "Python" == "Fun"))
应该看到的结果
True
False
False
False
True
True
False
True
False
False
True
False
True
False
False
False
True
True
False
False
习题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.')
应该看到的结果
Too many cats! The world is doomed!
The world is dry!
People are greater than or equal to dogs.
People are less than or equal to dogs.
People are dogs.
附加练习:
if语句为代码创建了一个所谓的分支,if语句告诉脚本:如果这个布尔表达式为真,就运行接下来的代码,否则就跳过这段。行尾的冒号作用是告诉Python接下来你要创建一个新的代码块。如果不缩进,会看到Python报错。如过把变量的初始值改掉,if语句如果是真,将会执行。
习题30 else and 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 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.')
应该看到的结果
We should take the cars.
Maybe we could take buses.
Alright, let's just take the buses.
附加练习:
1,elif是与if平行的一种可能的布尔表达式, else是除了if,elif以外的布尔表达式。
2,将变量的数值改掉,布尔表达式会重新计算,以致print的内容会变化。
3,
if cars > people and buses < cars:
print('We can take the car or buses')
习题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 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 stumle around and fall on a knife and die. Good job!')
应该看到的结果
You enter a dark room with two doors. Do you go through door #1 or door #2?
> 1
There's a giant bear here eating a cheese cake. What do you do?
1, Take the cake.
2, Scream at the bear.
> 2
The bear eats your legs off. Good job!
心得体会:
Python 2 有raw_input函数, Python 3 有对应的input函数。
习题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)
# dame 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's known 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('Adding %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)
应该看到的结果
This is count 1
This is count 2
This is count 3
This is count 4
This is count 5
A fruit of type: apples
A fruit of type: oranges
A fruit of type: pears
A fruit of type: apricots
I got 1
I got 'pennies'
I got 2
I got 'dimes'
I got 3
I got 'quarters'
Adding 0 to the list.
Adding 1 to the list.
Adding 2 to the list.
Adding 3 to the list.
Adding 4 to the list.
Adding 5 to the list.
Element was: 0
Element was: 1
Element was: 2
Element was: 3
Element was: 4
Element was: 5
附加练习
1,range函数的用法
for i in range(1,3): 只循环两次,含首不含尾,for i = 1 and for i = 2
2,for 循环会执行从0-5的循环,如果直接将elements赋值为range(0,6),elements.append(i)不能加一个范围数。
3,列表, list,除了append以外,还有insert, pop操作。
习题33 while循环
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)
应该看到的结果
At the top i is 0
Numbers now: [0]
At the bottom i is 1
At the top i is 1
Numbers now: [0, 1]
At the bottom i is 2
At the top i is 2
Numbers now: [0, 1, 2]
At the bottom i is 3
At the top i is 3
Numbers now: [0, 1, 2, 3]
At the bottom i is 4
At the top i is 4
Numbers now: [0, 1, 2, 3, 4]
At the bottom i is 5
At the top i is 5
Numbers now: [0, 1, 2, 3, 4, 5]
At the bottom i is 6
The numbers:
0
1
2
3
4
5
附加练习
i = 0
a = 9
b = 2
numbers = []
while i < a:
print('At the top i is %d' % i)
numbers.append(i)
i+= b
print('Numbers now:', numbers)
print('At the bottom i is %d' % i)
print('The numbers:')
for num in numbers:
print(num)
应该看到的结果
At the top i is 0
Numbers now: [0]
At the bottom i is 2
At the top i is 2
Numbers now: [0, 2]
At the bottom i is 4
At the top i is 4
Numbers now: [0, 2, 4]
At the bottom i is 6
At the top i is 6
Numbers now: [0, 2, 4, 6]
At the bottom i is 8
At the top i is 8
Numbers now: [0, 2, 4, 6, 8]
At the bottom i is 10
The numbers:
0
2
4
6
8
程序跑着停不下来时,按ctrl + C,程序就会中断。
习题34 访问列表的元素
animals = ['bear', 'python', 'peacock', 'kangaroo', 'whale', 'platypus']
print(animals[1])
print(animals[2])
print(animals[0])
print(animals[3])
print(animals[4])
print(animals[3])
print(animals[5])
print(animals[4])
应该看到的结果
python
peacock
bear
kangaroo
whale
kangaroo
platypus
whale
ordinal number 序数,就是我们通常所说的第1,第2,第3,。。。。
cardinal number 基数,编程里用0来获取第一个元素。