Python编程从入门到实践 第四章:操作列表 练习答案记录

Python编程从入门到实践 第四章:操作列表 练习答案记录

练习题导航

4.1 遍历整个列表

4.1.1 深入研究循环

4.1.2 在for循环中执行更多操作

4.1.3 在for循环结束后执行一些操作

4.2 避免缩进错误

4.2.1 忘记缩进

4.2.2 忘记缩进额外的代码行

4.2.3 不必要的缩进

4.2.4 循环后不必要的缩进

4.2.5 遗漏了冒号

练习4-1 比萨 : 想出至少三种你喜欢的比萨, 将其名称存储在一个列表中,再使用for 循环将每种比萨的名称都打印出来。

修改这个for 循环, 使其打印包含比萨名称的句子, 而不仅仅是比萨的名称。
对于每种比萨, 都显示一行输出, 如“I like pepperoni pizza”。
在程序末尾添加一行代码, 它不在for 循环中, 指出你有多喜欢比萨。
输出应包含针对每种比萨的消息,还有一个总结性句子, 如“I really love pizza!”。

pisa=['A','B','C']
for pi in pisa:
    print(pi)
for pii in pisa:
    print(f"I like pepperoni {pii}")
print("I really love pizza!")

在这里插入图片描述

练习4-2 动物 : 想出至少三种有共同特征的动物, 将这些动物的名称存储在一个列表中, 再使用for 循环将每种动物的名称都打印出来。修改这个程序, 使其针对每种动物都打印一个句子, 如“A dog would make a great pet”。

animals=['A','B','C']
for animal in animals:
    print(animal)
for animal in animals:
    print(f"A {animal} would make a great pet")

在这里插入图片描述

4.3 创建数值列表

4.3.1 使用函数range()

4.3.2 使用range()创建数字列表

4.3.3 对数字列表执行简单的统计计算

4.3.4 列表解析

练习4-3 数到20 : 使用一个for 循环打印数字1~20(含) 。

for digit in range(1,21):
    print(digit)

在这里插入图片描述
在这里插入图片描述

练习4-4 一百万 : 创建一个列表, 其中包含数字1~1 000 000, 再使用一个for 循环将这些数字打印出来

for digit in range(1,1000001):
    print(digit)

在这里插入图片描述

练习4-5 计算1~1 000 000的总和 : 创建一个列表, 其中包含数字1~1 000 000, 再使用min() 和max() 核实该列表确实是从1开始,到1 000 000结束的。 另外, 对这个列表调用函数sum() , 看看Python将一百万个数字相加需要多长时间。

digit=list(range(1,1000001))
print(min(digit),max(digit),sum(digit))

在这里插入图片描述

练习4-6 奇数 : 通过给函数range() 指定第三个参数来创建一个列表, 其中包含1~20的奇数; 再使用一个for 循环将这些数字都打印出来

digit=list(range(1,21,2))
for di in digit:
    print(di)

在这里插入图片描述

练习4-7 3的倍数 : 创建一个列表, 其中包含3~30内能被3整除的数字; 再使用一个for 循环将这个列表中的数字都打印出来。

digit=list(range(3,31,3))
for di in digit:
    print(di)

在这里插入图片描述

练习4-8 立方 : 将同一个数字乘三次称为立方。 例如, 在Python中, 2的立方用2**3 表示。 请创建一个列表, 其中包含前10个整数(即1~10)的立方, 再使用一个for 循环将这些立方数都打印出来。

digit=[]
for di in range(1,11):
    digit.append(di**3)
for di in digit:
    print(di)

在这里插入图片描述

练习4-9:立方解析 : 使用列表解析生成一个列表, 其中包含前10个整数的立方。

digit=[di**3 for di in range(1,11)]
print(digit)

在这里插入图片描述

4.4 使用列表的一部分

4.4.1 切片

4.4.2 遍历切片

4.4.3 复制列表

练习4-10 切片 : 选择你在本章编写的一个程序, 在末尾添加几行代码, 以完成如下任务。

打印消息“The first three items in the list are:”, 再使用切片来打印列表的前三个元素。
打印消息“Three items fromthe middle of the list are:”, 再使用切片来打印列表中间的三个元素。
打印消息“The last three items in the list are:”, 再使用切片来打印列表末尾的三个元素。

text=['A','B','C','D','E']
print("The first three items in the list are:")
print(text[:3])
print("Three items fromthe middle of the list are:")
print(text[1:4])
print("The last three items in the list are:")
print(text[-3:])

在这里插入图片描述

练习4-11 你的比萨和我的比萨 : 在你为完成练习4-1而编写的程序中, 创建比萨列表的副本, 并将其存储到变量friend_pizzas 中,再完成如下任务。在原来的比萨列表中添加一种比萨。在列表friend_pizzas 中添加另一种比萨。

核实你有两个不同的列表。 为此, 打印消息“My favorite pizzas are:”, 再使用一个for 循环来打印第一个列表;
打印消息“My friend’s favorite pizzas are:”, 再使用一个for 循环来打印第二个列表。
核实新增的比萨被添加到了正确的列表中

pisa=['A','B','C']
for pi in pisa:
    print(pi)
for pii in pisa:
    print(f"I like pepperoni {pii}")
print("I really love pizza!")

friend_pisa=pisa[:]
friend_pisa.append('D')
print("My favorite pizzas are:")
for pi in pisa:
    print(pi)
print("My friend's favorite pizzas are:")
for pi in friend_pisa:
    print(pi)

在这里插入图片描述

练习 4-12 使用多个循环 : 在本节中, 为节省篇幅, 程序foods.py的每个版本都没有使用for 循环来打印列表。 请选择一个版本的foods.py,在其中编写两个for 循环, 将各个食品列表都打印出来。

my_foods = ['pizza', 'falafel', 'carrot cake']
for food in my_foods:
	print(food)

在这里插入图片描述

4.5 元组

4.5.1 定义元组

4.5.2 遍历元组中的所有值

4.5.3 修改元组变量

练习4-13 自助餐 : 有一家自助式餐馆, 只提供五种简单的食品。 请想出五种简单的食品, 并将其存储在一个元组中。

使用一个for 循环将该餐馆提供的五种食品都打印出来。 尝试修改其中的一个元素, 核实Python确实会拒绝你这样做。 餐馆调整了菜单,
替换了它提供的其中两种食品。 请编写一个这样的代码块: 给元组变量赋值, 并使用一个for 循环将新元组的每个元素都打印出来。

foods=('A','B','C','D','E')
for food in foods:
    print(food)
foods=('a','b','C','D','E')
for food in foods:
    print(food)

在这里插入图片描述

4.6 设置代码格式

4.6.1 格式设置指南

4.6.2 缩进

4.6.3 行长

4.6.4 空行

4.6.5 其他格式设置指南

练习4-14 PEP 8 : 请访问https://python.org/dev/peps/pep-0008/ , 阅读PEP 8格式设置指南。

当前, 这些指南适用的不多, 但你可以大致浏览一下。

练习4-15 代码审核 : 从本章编写的程序中选择三个, 根据PEP 8指南对它们进行修改。

每级缩进都使用四个空格。 对你使用的文本编辑器进行设置, 使其在你按Tab键时都插入四个空格; 如果你还没有这样做,
现在就去做吧(有关如何设置, 请参阅附录B) 。 每行都不要超过80字符。 对你使用的编辑器进行设置,
使其在第80个字符处显示一条垂直参考线。 不要在程序文件中过多地使用空行。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Is_LiuYiZheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值