python从入门到实践答案
- 第二章 变量和简单的数类型
- 1. 简单消息
- 2. 多条简单消息
- 3.个性化消息
- 4. 调整名字的大小写
- 5. 名言
- 6. 名言2
- 7. 剔除人名中的空白
- 8. 数字8:
- 9 最喜欢的数字:
- 10. 添加注释
- 11. Python之禅:
- 第三章 列表简介
- 1.姓名
- 2. 继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
- 3.自己的列表:
- 4 嘉宾名单:
- 5 修改嘉宾名单:
- 6. 添加嘉宾:
- 7 缩减名单:你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。
- 8.放眼世界:
- 9.晚餐嘉宾:
- 10.尝试使用各个函数:
- 11. 有意引发错误:
第二章 变量和简单的数类型
1. 简单消息
message = 'hello python !'
print(message)
2. 多条简单消息
message = 'hello'
print(message)
message='hello python'
print(message)
3.个性化消息
个性化消息:将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric,would you like to learn some Python today?”。
name = "shangyang"
print("Hello, " + name + " " + "would you like to learn some Python today?")
4. 调整名字的大小写
调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。
name = "shangyang"
print(name.upper()) #全大写
print(name.lower()) #全小写
print(name.title()) #首字母大写
5. 名言
名言:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):Albert Einstein once said,“A person who never made a mistake never tried anything new.”
name = 'Albert Einstein'
says = "\"a person who never made a mistake never tried anything new\""
print(name + " once said ," + says.title())
6. 名言2
名言2:重复练习2-5,但将名人的姓名存储在变量famous_person中,再创建要显示的消息,并将其存储在变量message中,然后打印这条消息。
famous_person = 'albert einstein'
message = "\"a person who never made a mistake never tried anything new\""
print(name.title() + " once said ," + message.title())
7. 剔除人名中的空白
剔除人名中的空白:存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t"和"\n"各一次。
打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip()、rstrip()和strip()对人名进行处理,并将结果打印出来。
message = " shangyang "
print(message)
print(message.rstrip())
print(message.lstrip())
print(message.strip())
8. 数字8:
编写4个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字8。为使用print语句来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写4行类似于下面的代码:
print(5+3)
输出应为4行,其中每行都只包含数字8。
print(3 + 5)
print(10 - 2)
print(2 * 4)
print(24 / 3)
9 最喜欢的数字:
将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。
love_num = 6
print("my love num is " + str(love_num))
10. 添加注释
选择你编写的两个程序,在每个程序中都至少添加一条注释。如果程序太简单,实在没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。
love_num = 6
num_list = "1 2 3 4 5 6 7" # 无聊直接的一个东西
11. Python之禅:
在Python终端会话中执行命令import this,并粗略地浏览一下其他的指导原则。
import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!这是 Python 之禅(The Zen of Python),由 Tim Peters 撰写。以下是其中的内容的翻译:- 美观胜于丑陋。
- 明确胜于隐晦。
- 简单胜于复杂。
- 复杂胜于凌乱。
- 平面胜于嵌套。
- 疏远胜于密集。
- 可读性很重要。
- 特例不足以打破规则。
- 实用性胜于纯洁性。
- 错误不应该被默默忽略,除非明确地静音。
- 面对模棱两可,拒绝猜测的诱惑。
- 应该有一种 -- 最好只有一种 -- 显而易见的方法来做到这一点。
- 尽管这种方式一开始可能不明显,除非你是荷兰人。
- 现在比永远好。
- 尽管永远比“现在”更好。
- 如果实现很难解释,那是个坏主意。
- 如果实现很容易解释,那可能是个好主意。
- 命名空间是个绝妙的主意 -- 让我们做更多这样的事情!
第三章 列表简介
1.姓名
将一些朋友的姓名存储在一个列表中,并将其命名为names。依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。
names = ['ron', 'tyler', 'bill']print(names[0].title())
print(names[1].title())
print(names[2].title())
2. 继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
names = ['ron', 'tyler', 'bill']
message = 'hello,'
print(message + names[0])
print(message+names[1])
print(message+names[2])
3.自己的列表:
想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的宣言,如“I would like to own a Honda motorcycle”。
traffic = ['motocycle','car','bus']
message1 = "I like " + traffic[0]
print(message1)
message2 = "I don't like " + traffic[2]
print(message2)
message3 = "I would like " + traffic[1]
print(message3)
4 嘉宾名单:
如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),你会邀请哪些人?请创建一个列表,其中包含至少3个你想邀请的人;然后,使用这个列表打印消息,邀请这些人来与你共进晚餐。
names = ['David','Susan','Kitty']
print(names)
5 修改嘉宾名单:
你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。·以完成练习3-4时编写的程序为基础,在程序末尾添加一条print语句,指出哪位嘉宾无法赴约。·修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。·再次打印一系列消息,向名单中的每位嘉宾发出邀请。
names = ['David','Susan','Kitty']
print(names)
names[2]='shangyang'
print(names)
6. 添加嘉宾:
你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。
·以完成练习3-4或练习3-5时编写的程序为基础,在程序末尾添加一条print语句,指出你找到了一个更大的餐桌。
·使用insert()将一位新嘉宾添加到名单开头。
·使用insert()将另一位新嘉宾添加到名单中间。
·使用append()将最后一位新嘉宾添加到名单末尾。
·打印一系列消息,向名单中的每位嘉宾发出邀请。
names = ['David','Susan','Kitty']
print(names)
names.remove('Susan')
print(names)
names.append('Herry')
print(names)
7 缩减名单:你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。
·以完成练习3-6时编写的程序为基础,在程序末尾添加一行代码,打印一条你只能邀请两位嘉宾共进晚餐的消息。
·使用pop()不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进晚餐。
·对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。
·使用del将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程序结束时名单确实是空的。
names = ['David','Susan','Kitty']
print(names)
names.remove('Susan')
print("all i invite is " +str( names))
names.append('Herry')
print(names)names.insert(0,'Zoctopus')
names.insert(2,'Lianlian')
names.append('Niannian')
print(names)names_pop1 = names.pop()
print(names_pop1)
names_pop2 = names.pop()
print(names_pop2)
names_pop3 = names.pop()
print(names_pop3)
names_pop4 = names.pop()
print(names_pop4)print(names)del names[1]
print(names)
del names[0]
print(names)
8.放眼世界:
想出至少5个你渴望去旅游的地方。·将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
·按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。
·使用sorted()按字母顺序打印这个列表,同时不要修改它。·再次打印该列表,核实排列顺序未变。
·使用sorted()按与字母顺序相反的顺序打印这个列表,同时不要修改它。
·再次打印该列表,核实排列顺序未变。
·使用sorted()按与字母顺序相反的顺序打印这个列表,同时不要修改它。
·再次打印该列表,核实排列顺序未变。
·使用reverse()修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
·使用reverse()再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
·使用sort()修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。
·使用sort()修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。
tours = ['Hangzhou','Shanghai','Wuhan','Suzhou','Kunming']
print(tours)
print(sorted(tours))
print(tours)
print(sorted(tours,reverse=True))
print(tours)
tours.reverse()
print(tours)
tours.reverse()
print(tours)
tours.sort()
print(tours)
tours.sort(reverse=True)
print(tours)
9.晚餐嘉宾:
在完成练习3-4~练习3-7时编写的程序之一中,使用len()打印一条消息,指出你邀请了多少位嘉宾来与你共进晚餐。
names = ['David','Susan','Kitty']
print(names)
print(len(names))
10.尝试使用各个函数:
想想可存储到列表中的东西,如山岳、河流、国家、城市、语言或你喜欢的任何东西。编写一个程序,在其中创建一个包含这些元素的列表,然后,对于本章介绍的每个函数,都至少使用一次来处理这个列表。
love = ['Girlfirend','Parents','China','Ocean','Playgames']
print(len(love))print(sorted(love))love.reverse()
print(love)
11. 有意引发错误:
如果你还没有在程序中遇到过索引错误,就尝试引发一个这种错误。在你的一个程序中,修改其中的索引,以引发索引错误。关闭程序前,务必消除这个错误。
love = ['Girlfirend','Parents','China','Ocean','Playgames']
print(love[-1])print(love[5]) #索引错误