第五章
5-5 外星人颜色#3:将练习5-4中的if-else 结构改为if-elif-else 结构。
如果外星人是绿色的,就打印一条消息,指出玩家获得了5个点。
如果外星人是黄色的,就打印一条消息,指出玩家获得了10个点。
如果外星人是红色的,就打印一条消息,指出玩家获得了15个点。
编写这个程序的三个版本,它们分别在外星人为绿色、黄色和红色时打印一条消息。
alien_colors = ['green','yellow','red']
for alien_color in alien_colors:
print("alien_color is %s"%alien_color)
if alien_color == 'green':
print("Get 5 points.")
elif alien_color == 'yellow':
print("Get 10 points.")
else:
print("Get 15 points.")
运行结果
alien_color is green
Get 5 points.
alien_color is yellow
Get 10 points.
alien_color is red
Get 15 points.
5-7 喜欢的水果 :
创建一个列表,其中包含你喜欢的水果,再编写一系列独立的if 语句,检查列表中是否包含特定的水果。
将该列表命名为favorite_fruits ,并在其中包含三种水果。
编写5条if 语句,每条都检查某种水果是否包含在列表中,如果包含在列表中,就打印一条消息,如“You really like bananas!”。
favorite_fruit = ['apple', 'banana', 'pineapple', 'kiwifruit']
if 'grape' in favorite_fruit:
print("You really like grape!")
if 'apple' in favorite_fruit:
print("You really like apple!")
if 'banana' in favorite_fruit:
print("You really like banana!")
if 'tomato' in favorite_fruit:
print("You really like tomato!")
if 'kiwifruit' in favorite_fruit:
print("You really like kiwifruit!")
输出结果:
You really like apple!
You really like banana!
You really like kiwifruit!
5-8 以特殊方式跟管理员打招呼 :
创建一个至少包含5个用户名的列表,且其中一个用户名为’admin’ 。想象你要编写代码,在每位用户登录网站后都打印一条问候消息。遍历用户名列表,并向每位用户打印一条问候消息。
如果用户名为’admin’ ,就打印一条特殊的问候消息,如“Hello admin, would you like to see a status report?”。
否则,打印一条普通的问候消息,如“Hello Eric, thank you for logging in again”。
username = ['admin', 'Sam', 'Amy', 'Bob']
for item in username:
if item == 'admin':
print('Hello, admin, would you like to see a status report?')
else:
print('Hello %s, thank you for logging in again.' % item)
输出结果:
Hello, admin, would you like to see a status report?
Hello Sam, thank you for logging in again.
Hello Amy, thank you for logging in again.
Hello Bob, thank you for logging in again.
5-9 处理没有用户的情形 :在为完成练习5-8编写的程序中,添加一条if 语句,检查用户名列表是否为空。
如果为空,就打印消息“We need to find some users!”。
删除列表中的所有用户名,确定将打印正确的消息。
username = ['admin', 'Sam', 'Amy', 'Bob']
del(username[:])
if len(username) == 0:
print('We need to find some users!')
else:
for item in username:
if item == 'admin':
print('Hello, admin, would you like to see a status report?')
else:
print('Hello %s, thank you for logging in again.' % item)
输出结果:
We need to find some users!
5-11 序数 :序数表示位置,如1st和2nd。大多数序数都以th结尾,只有1、2和3例外。
在一个列表中存储数字1~9。
遍历这个列表。
在循环中使用一个if-elif-else 结构,以打印每个数字对应的序数。输出内容应为1st 、2nd 、3rd 、4th 、5th 、6th 、7th 、8th 和9th ,但每个序数都独占一行。
number = [i for i in range(1, 10)]
for i in number:
if i == 1:
print('1st')
elif i == 2:
print('2nd')
elif i == 3:
print('3rd')
else:
print('%dth' % i)
第六章
6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name 、last_name 、age 和city 。将存储在该字典中的每项信息都打印出来。
dict = {
'first_name': 'Kaiqi',
'last_name': 'Wang',
'age': 20,
'city': 'Guangzhou',
}
for (k, v) in dict.items():
print("%s : %s" % (k, v))
输出结果
city : Guangzhou
first_name : Kaiqi
age : 20
last_name : Wang
6-3 词汇表 :Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n )插入一个空行,然后在下一行以缩进的方式打印词汇的含义。
6-4 词汇表2 :既然你知道了如何遍历字典,现在请整理你为完成练习6-3而编写的代码,将其中的一系列print 语句替换为一个遍历字典中的键和值的循环。确定该循环正确无误后,再在词汇表中添加5个Python术语。当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中。
dict = {
'apple': '苹果',
'banana': '香蕉',
'pineaplle': '菠萝',
'kiwifruit': '猕猴桃'
}
dict['grape'] = '葡萄'
dict['light'] = '光'
dict['computer'] = '计算机'
dict['cup'] = '杯子'
dict['program'] = '程序'
for(k, v) in dict.items():
print("%s: %s" % (k, v))
输出结果
kiwifruit: 猕猴桃
light: 光
apple: 苹果
cup: 杯子
computer: 计算机
program: 程序
pineaplle: 菠萝
grape: 葡萄
banana: 香蕉
6-9 喜欢的地方 :创建一个名为favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的1~3个地方。为让这个练
习更有趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。
favorite_place = {
'Amy': 'America',
'Bob': 'Brazil',
'Cathy': 'Canada',
}
for(k, v) in favorite_place.items():
print("%s: %s" % (k, v))
Amy: America
Bob: Brazil
Cathy: Canada
6-10 喜欢的数字 :修改为完成练习6-2而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。
favorite_number = {
'Amy': [0, 1],
'Bob': [3, 5, 7, 11],
'Cathy': [65536],
}
for(k, v) in favorite_number.items():
st = ",".join(list(map(str, v)))
print("%s: %s" % (k, st))
输出结果:
Amy: 0,1
Cathy: 65536
Bob: 3,5,7,11
网友评论