首页 > 编程语言 >《python从入门到实践》第四章习题记录

《python从入门到实践》第四章习题记录

时间:2023-07-17 21:01:34浏览次数:43  
标签:入门 python 打印 列表 numbers print 习题 pizzas pizza

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

pizzaList = ["pepperoni pizza", "Ita pizza", "chinese pizza"]
for i in pizzaList:
    print(i)
    print("I like "+i)
print("I really love pizza!")

# 4-2 动物:想出至少三种有共同特征的动物,将这些动物的名称存储在一个列表中,再使用for循环将每种动物的名称都打印出来。
#
# 修改这个程序,使其针对每种动物都打印一个句子,如“A dog would make a great pet”。
#
# 在程序末尾添加一行代码,指出这些动物的共同之处,如打印诸如“Any of these animals would make a great pet!”这样的句子。
animals = ["bird", "dog", "cat"]
for animal in animals:
    print("A " + animal + "would make a great pet.")
print("Any of these animals would make a great pet!")

# 4-3 数到20:使用一个for循环打印数字1~20(含)。
for i in range(1,21):
    print(i,end=" ")
print()
#4-4 一百万:创建一个列表,其中包含数字1~1 000 000,再使用一个for循环将这些数字打印出来(如果输出的时间太长,按Ctrl + C停止输出,或关闭输出窗口)。
for i in list(range(1,1001)):
    print(i,end=",")

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

#4-6 奇数:通过给函数range()指定第三个参数来创建一个列表,其中包含1~20的奇数;再使用一个for循环将这些数字都打印出来。
numbers = list(range(1,21,2))
for i in numbers:
    print(i,end=",")
print()

#4-7 3的倍数:创建一个列表,其中包含3~30内能被3整除的数字;再使用一个for循环将这个列表中的数字都打印出来。
numbers = list(range(3,31,3))
for i in numbers:
    print(i,end=",")
print()

numbers = list(range(1,31))
for i in numbers:
    if i%3 ==0:
        print(i,end=",")
print()

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

#4-9 立方解析:使用列表解析生成一个列表,其中包含前10个整数的立方。
a =[digital ** 3 for digital in range(1,11)]
print(a)

# 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:”,再使用切片来打印列表末尾的三个元素。
animals = ["bird", "dog", "cat","frog","chicken"]
print("The first three items in the list are:")
print(animals[0:3])
print(animals[1:4])
print(animals[-3:])


# 4-11 你的比萨和我的比萨:在你为完成练习4-1而编写的程序中,创建比萨列表的副本,并将其存储到变量friend_pizzas中,再完成如下任务。
# 在原来的比萨列表中添加一种比萨。
# 在列表friend_pizzas中添加另一种比萨。
# 核实你有两个不同的列表。为此,打印消息“My favorite pizzas are:”,再使用一个for循环来打印第一个列表;打印消息“My friend's
# favorite pizzas are:”,再使用一个for循环来打印第二个列表。核实新增的比萨被添加到了正确的列表中。
pizzaList = ["pepperoni pizza", "Ita pizza", "chinese pizza"]
friend_pizzas = list()
for i in pizzaList:
    friend_pizzas.append(i)
friend_pizzas.append("photo pizza")
for i in pizzaList:
    print("My favorite pizzas are:"+i)
for i in friend_pizzas:
    print("My friend's favorite pizzas are:"+i)
########################################################
pizzas = ["New Orleans", "Cheese Lover", "Delicious Bacon"]
friend_pizzas = pizzas[:]

pizzas.append("durian")
friend_pizzas.append("Black Pepper Beef")

print("My favorite pizzas are:")
for pizza in pizzas:
    print(pizza, end=", ")

print("\n\nMy friend's favorite pizzas are:")
for pizza in friend_pizzas:
    print(pizza, end=", ")

# 4 - 12
# 使用多个循环:在本节中,为节省篇幅,程序foods.py的每个版本都没有使用for循环来打印列表。请选择一个版本的foods.py,在其中编写两个for循环,将各个食品列表都打印出来。
# 4 - 13
# 自助餐:有一家自助式餐馆,只提供五种简单的食品。请想出五种简单的食品,并将其存储在一个元组中。
# 使用一个for循环将该餐馆提供的五种食品都打印出来。
# 尝试修改其中的一个元素,核实Python确实会拒绝你这样做。TypeError: 'tuple' object does not support item assignment,元组不可以修改
# 餐馆调整了菜单,替换了它提供的其中两种食品。请编写一个这样的代码块:给元组变量赋值,并使用一个for循环将新元组的每个元素都打印出来。
print("")
pizzas = ("New Orleans", "Cheese", "Bacon", "Beef", "durian")
for i in pizzas:
    print(i,end=" ")

# pizzas[1] = "orang"
# 报错TypeError: 'tuple' object does not support item assignment
pizzas = ("New Orleans", "Cheese", "Bacon", "chicken", "pig")#直接通过赋值修改
for pizza in pizzas:
    print(pizza, end= ", ")

# 4-14 PEP 8:请访问https://python.org/dev/peps/pep-0008/,阅读PEP 8格式设置指南。当前,这些指南适用的不多,但你可以大致浏览一下。
#
# 4-15 代码审核:从本章编写的程序中选择三个,根据PEP 8指南对它们进行修改。
#
# 每级缩进都使用四个空格。对你使用的文本编辑器进行设置,使其在你按Tab键时都插入四个空格;如果你还没有这样做,现在就去做吧(有关如何设置,请参阅附录B)。
#
# 每行都不要超过80字符。对你使用的编辑器进行设置,使其在第80个字符处显示一条垂直参考线。
#
# 不要在程序文件中过多地使用空行。


# 4.7 小结
# 在本章中,你学习了:如何高效地处理列表中的元素;如何使用for循环遍历列表,Python如何根据缩进来确定程序的结构以及如何避免一些常见的缩进错误;
# 如何创建简单的数字列表,以及可对数字列表执行的一些操作;如何通过切片来使用列表的一部分和复制列表。你还学习了元组(它对不应变化的值提供了一定程度
# 的保护),以及在代码变得越来越复杂时如何设置格式,使其易于阅读。
#
# 在第5章中,你将学习如何使用if语句在不同的条件下采取不同的措施;学习如何将一组较复杂的条件测试组合起来,并在满足特定条件时采取相应的措施。
# 你还将学习如何在遍历列表时,通过使用if语句对特定元素采取特定的措施。


标签:入门,python,打印,列表,numbers,print,习题,pizzas,pizza
From: https://www.cnblogs.com/zy-can-hold/p/17561204.html

相关文章

  • 《python从入门到实践》第五章习题记录
    #在第5章中,你将学习如何使用if语句在不同的条件下采取不同的措施;学习如何将一组较复杂的条件测试组合起来,并在满足特定条件时采取相应的措施。你还将#学习如何在遍历列表时,通过使用if语句对特定元素采取特定的措施。#第5章if语句#5-1#条件测试:编写一系列条件测试;将每......
  • 《python从入门到实践》第一章习题记录
    """第一章第1章起步1-1python.org:浏览Python主页(http://python.org/),寻找你感兴趣的主题。你对Python越熟悉,这个网站对你来说就越有用。1-2输入错误:打开你刚创建的文件hello_world.py,在代码中添加一个输入错误,再运行这个程序。输入错误会引发错误吗?你能理解显示的错误消......
  • HTML入门-----常用标签之水平线标签
    水平线标签<hr/><!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> </head> <body> <hr/> 张学友 <br/> 周杰伦 </body>......
  • HTML入门-----常用标签之字体样式标签
    字体样式标签可以改变字体的样式加粗:<strong></strong>,<b></b>斜体:<em></em>,<i></i>示例:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title>......
  • HTML入门-----常见标签之注释和特殊符号
    注释和特殊符号空格:&nbsp大于号(>):&gt小于号(<):&lt引号("):&quot版权符号©:&copy!......
  • HTML入门-----初识html
    HTML简介:是一种超文本标记语言。网页的组成:骨架:HTML表现层:CSS行为层:JavaScript网页的基本结构:<html> <!---网页头部---> <head> <title>网页标题</title> </head> <!---网页的主体---> <body> 网页主体 </body></html><html>…</......
  • HTML入门---常用标签之标题标签
    .标题标签h1~h6自动换行,自动加粗,数值越小字越大。示例:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> </head> <body> <h1>标题</h1> <h2>标题</h2> <h3>标题</h3......
  • Python 运行 shell 命令的一些方法
    哈喽大家好,我是咸鱼我们知道,python在自动化领域中被广泛应用,可以很好地自动化处理一些任务就比如编写Python脚本自动化执行重复性的任务,如文件处理、数据处理、系统管理等需要运行其他程序或者与操作系统交互的任务那么今天我们来看一下在python中如何运行shell命令来与......
  • python中的@classmethod和@staticmethod的作用
    classA(object):bar=1deffunc1(self):print("foo")@classmethoddeffunc2(cls):print("func2")print(cls.bar)cls().func1()A.func2()@classmethod的作用实际时可以在class内部实例化class。作用就是比u输......
  • python
    #不需要定义变量##while循环:#while条件:#xxx#xxx#for循环:#for临时变量in范围容器(可用range,如果是容器的话,就是遍历,如果in10,就是遍历0-10)#for循环的范围是大于等于第一个小于最后一个,也就是inti=0;i<n;i++#输入......