3-1 姓名:
将一些朋友的姓名存储在一个列表中,并将其命名为names 。依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。
names = ['Alice','Bob','Tom']
for name in names:
print(name)
3-2 问候语:
继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
names = ['Alice','Bob','Tom']
for name in names:
print("Hello, " + name + "!")
3-4 嘉宾名单 :
如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),你会邀请哪些人?请创建一个列表,其中包含至少3个你想邀请的人;然后,使用这个列表打印消息,邀请这些人来与你共进晚餐。
names = ['Alice','Bob','Tom']
for name in names:
print(name +',I would like to invite you to a meal!')
3-6 添加嘉宾 :
你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。以完成练习3-4或练习3-5时编写的程序为基础,在程序末尾添加一条print 语句,指出你找到了一个更大的餐桌。使用insert() 将一位新嘉宾添加到名单开头。
使用insert() 将另一位新嘉宾添加到名单中间。
使用append() 将最后一位新嘉宾添加到名单末尾。
打印一系列消息,向名单中的每位嘉宾发出邀请。
names = ['Alice','Bob','Tom']
for name in names:
print(name +',I would like to invite you to a meal!')
print("Find a bigger table!")
names.insert(0,'Emily')
names.insert(2,'suzuki')
names.append('yamaha')
for name in names:
print(name +',I would like to invite you to a meal!')
3-8 放眼世界 :
想出至少5个你渴望去旅游的地方。将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。使用sorted() 按字母顺序打印这个列表,同时不要修改它。再次打印该列表,核实排列顺序未变。
使用sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它。再次打印该列表,核实排列顺序未变。
使用reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
使用reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。使用sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。使用sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。
places = ['shenzhen','beijing','xiaan','guangzhou','shanghai']
print(places)
print(sorted(places))
print(places)
print(sorted(places,reverse=True))
print(places)
places.reverse()
print(places)
places.reverse()
print(places)
places.sort()
print(places)
places.sort(reverse=True)
print(places)
4-2 动物 :
想出至少三种有共同特征的动物,将这些动物的名称存储在一个列表中,再使用for 循环将每种动物的名称都打印出来。修改这个程序,使其针对每种动物都打印一个句子,如“A dog would make a great pet”。在程序末尾添加一行代码,指出这些动物的共同之处,如打印诸如“Any of these animals would make a great pet!”这样的句子。
animals = ['Dog','Cat','Rabbit']
for i in animals:
print(i)
print("A " + i + " would make a great pet")
print("Any of these animals would make a great pet!")
4-7 3的倍数 :
创建一个列表,其中包含3~30内能被3整除的数字;再使用一个for 循环将这个列表中的数字都打印出来。
numb = list(range(3,31,3))
for i in numb:
print(i)
4-9 立方解析 :
使用列表解析生成一个列表,其中包含前10个整数的立方。
numb = [value ** 3 for value in range(1,11)]
for i in numb:
print(i)
4-10 切片 :
选择你在本章编写的一个程序,在末尾添加几行代码,以完成如下任务。打印消息“The first three items in the list are:”,再使用切片来打印列表的前三个元素。打印消息“Three items from the middle of the list are:”,再使用切片来打印列表中间的三个元素。打印消息“The last three items in the list are:”,再使用切片来打印列表末尾的三个元素。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print("The first three items in the list are:")
print(players[:3])
print("Three items from the middle of the list are:")
print(players[1:-1])
print("The last three items in the list are:")
print(players[-3:])
4-13 自助餐 :
有一家自助式餐馆,只提供五种简单的食品。请想出五种简单的食品,并将其存储在一个元组中。
使用一个for 循环将该餐馆提供的五种食品都打印出来。
尝试修改其中的一个元素,核实Python确实会拒绝你这样做。餐馆调整了菜单,替换了它提供的其中两种食品。请编写一个这样的代码块:给元组变量赋值,并使用一个for 循环将新元组的每个元素都打印出来。
food = ('apple','meat','milk','dessert','soup')
for i in food:
print(i)
food = ('orange','banana','meat','soup','apple')
for i in food:
print(i)