Question
教材中课后的练习,4-1到4-15,选一些写到你的博客上
Answer
'''
SYSU - [专选]高级编程技术 - Week2, Lecture2 HW
by Duan
2018.03.14
'''
'''
4-1 比萨:
想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用 for 循环将每种比萨的名称都打
印出来。
1. 修改这个 for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称。对于每种比萨,
都显示一行输出,如 "I like pepperoni pizza"。
2. 在程序末尾添加一行代码,它不在 for 循环中,指出你有多喜欢比萨。输出应包含针对每种比
萨的消息,还有一个总结性句子,如 "I really love pizza!"。
'''
pizzas = ['Marinara', 'Diavola', 'Prosciutto']
for pizza in pizzas:
print('I like ' + pizza + ' pizza.')
print('I really love pizza!')
# Output:
# I like Marinara pizza.
# I like Diavola pizza.
# I like Prosciutto pizza.
# I really love pizza!
'''
4-6 奇数:
通过给函数 range() 制定第三个参数来创建一个列表,其中包含 1~20 的奇数;再使用一个 for
循环将这个列表中的数字都打印出来。
'''
odd = [value for value in range(1, 21, 2)]
for i in odd:
print(i)
# Output:
# 1
# 3
# 5
# 7
# 9
# 11
# 13
# 15
# 17
# 19
'''
4-8 立方:
将同一个数字乘三次称为立方。例如,在 Python 中,2 的立方用 2**3 表示。请创建一个列表,
其中包含前 10 个整数(即 1~10 )的立方,再使用一个 for 循环将这些立方数都打印出来。
'''
cube = [i ** 3 for i in range(1, 11)]
for i in cube:
print(i)
# Output:
# 1
# 8
# 27
# 64
# 125
# 216
# 343
# 512
# 729
# 1000
'''
4-10 切片:
选择你在本章编写的一个程序,在末尾添加几行代码,以完成如下任务。
1. 打印消息 "The first three items in the list are: " ,再使用切片来打印列表的
前三个元素。
2. 打印消息 "Three items from the middle of the list are: " ,再使用切片来打
印列表中间的三个元素。
3. 打印消息 "The last three items in the list are: " ,再使用切片来打印列表末尾
的三个元素。
'''
eg = [i for i in range(1, 10)]
print('The first three items in the list are:\t\t', eg[:3])
print('Three items from the middle of the list are:\t', eg[3:6])
print('Thelast three items in the list are:\t\t', eg[-3:])
# Output:
# The first three items in the list are: [1, 2, 3]
# Three items from the middle of the list are: [4, 5, 6]
# Thelast three items in the list are: [7, 8, 9]
'''
4-12 使用多个循环:
在本节中,为节省篇幅,程序 foods.py 的每个版本都没有使用 for 循环来打印列表。请选择一
个版本的 foods.py ,在其中编写两个 for 循环,将各个食品列表都打印出来
'''
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
my_foods.append('cannoli')
friend_foods.append('ice cream')
print('My favorite foods are:')
for my_food in my_foods:
print(my_food)
print('\nMy friend;s favorite foods are:')
for friend_food in friend_foods:
print(friend_food)
# Output:
# My favorite foods are:
# pizza
# falafel
# carrot cake
# cannoli
# My friend;s favorite foods are:
# pizza
# falafel
# carrot cake
# ice cream
'''
4-13 自助餐:
有一家自助式餐馆,只提供五种简单的食品。请想出五种简单的食品,并将其存储在一个元组中。
1. 使用一个 for 循环将该参观提供的五种食品都打印出来。
2. 尝试修改其中的一个元素,核实 Python 确实会拒绝你这样做。
3. 餐馆调整了菜单,替换了它提供的其中两种食品。请编写一个这样的代码块:给元组变量赋值,并
使用一个 for 循环将新元组的每个元素都打印出来。
'''
foods = ('water', 'rice', 'beef', 'tamato', 'tofu')
print('Original menu:')
for food in foods:
print(food)
# foods[2] = 'chicken' # illegal
foods = ('water', 'bread', 'chicken', 'tomato', 'tofu')
print('\nNew menu:')
for food in foods:
print(food)
# Output:
# Original menu:
# water
# rice
# beef
# tamato
# tofu
# New menu:
# water
# bread
# chicken
# tomato
# tofu