logo资料库

python基础从入门到实践课后练习答案(中文版).pdf

第1页 / 共136页
第2页 / 共136页
第3页 / 共136页
第4页 / 共136页
第5页 / 共136页
第6页 / 共136页
第7页 / 共136页
第8页 / 共136页
资料共136页,剩余部分请下载后查看
练习答案 这里提供了部分练习的答案。请不要着急看答案,设法搞明白新学的概念再看。另外, 很多练习的解决方案都有多种,这里列出的只是其中一种。 这里没有提供第 12~14 章及第 18~20 章的练习答案,因为这些练习实际上都是项目。 如果你在完成这些练习的过程中遇到困难,可前往 Stack Overflow 或 r/learnpython 提问, 也可与作者联系。 第 2 章 练习 2-2 多条简单消息 将一条消息赋给变量,并将其打印出来;再将变量的值修改为一条新消息,并将其打 印出来。 msg = "I love learning to use Python." print(msg) msg = "It's really satisfying!" print(msg) 输出: I love learning to use Python. It's really satisfying! 练习 2-5 名言 找一句你钦佩的名人说的名言,将其姓名和名言打印出来。输出应类似于下面这样(包 括引号):Albert Einstein once said, “A person who never made a mistake never tried anything new.” print('Albert Einstein once said, "A person who never made a mistake') print('never tried anything new."') 输出: Albert Einstein once said, "A person who never made a mistake never tried anything new." ·1·
练习答案 练习 2-7 剔除人名中的空白 用变量表示一个人的名字,并在开头和末尾都包含一些空白字符。务必至少使用字符 组合"\t"和"\n"各一次。 打印这个人名,显示开头和末尾的空白。然后,分别使用剔除函数 lstrip() 、rstrip() 和 strip() 对人名进行处理,并将结果打印出来。 name = "\tEric Matthes\n" print("Unmodified:") print(name) print("\nUsing lstrip():") print(name.lstrip()) print("\nUsing rstrip():") print(name.rstrip()) print("\nUsing strip():") print(name.strip()) 输出: Unmodified: Eric Matthes Using lstrip(): Eric Matthes Using rstrip(): Eric Matthes Using strip(): Eric Matthes ·2·
练习答案 练习 2-9 最喜欢的数 用一个变量来表示你最喜欢的数,再使用这个变量创建一条消息,指出你最喜欢的数 是什么,然后将这条消息打印出来。 fav_num = 42 msg = f"My favorite number is {fav_num}." print(msg) 输出: My favorite number is 42. 第 3 章 练习 3-1 姓名 将一些朋友的姓名存储在一个列表中,并将其命名为 names 。依次访问该列表中的每 个元素,从而将每个朋友的姓名都打印出来。 names = ['ron', 'tyler', 'dani'] print(names[0]) print(names[1]) print(names[2]) 输出: ron tyler dani 练习 3-2 问候语 继续使用练习 3-1 中的列表,但不打印朋友的姓名,而为每人打印一条消息。每条消 息都包含相同的问候语,但抬头为相应朋友的姓名。 names = ['ron', 'tyler', 'dani'] msg = f"Hello, {names[0].title()}!" ·3·
练习答案 print(msg) msg = f"Hello, {names[1].title()}!" print(msg) msg = f"Hello, {names[2].title()}!" print(msg) 输出: Hello, Ron! Hello, Tyler! Hello, Dani! 练习 3-4 嘉宾名单 如果你可以邀请任何人共进晚餐(无论是故去的还是在世的),你会邀请哪些人?请 创建一个列表,其中包含至少三个你想邀请的人;然后,使用这个列表打印消息,邀请这 些人来与你共进晚餐。 guests = ['guido van rossum', 'jack turner', 'lynn hill'] name = guests[0].title() print(f"{name}, please come to dinner.") name = guests[1].title() print(f"{name}, please come to dinner.") name = guests[2].title() print(f"{name}, please come to dinner.") 输出: Guido Van Rossum, please come to dinner. Jack Turner, please come to dinner. Lynn Hill, please come to dinner. ·4·
练习答案 练习 3-5 修改嘉宾名单 你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。  以完成练习 3-4 时编写的程序为基础,在程序末尾添加一条 print 语句,指出哪位嘉 宾无法赴约。  修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。  再次打印一系列消息,向名单中的每位嘉宾发出邀请。 # 邀请一些嘉宾与你共进晚餐。 guests = ['guido van rossum', 'jack turner', 'lynn hill'] name = guests[0].title() print(f"{name}, please come to dinner.") name = guests[1].title() print(f"{name}, please come to dinner.") name = guests[2].title() print(f"{name}, please come to dinner.") name = guests[1].title() print(f"\nSorry, {name} can't make it to dinner.") # Jack 无法赴约,转而邀请 Gary。 del(guests[1]) guests.insert(1, 'gary snyder') # 重新打印邀请函。 name = guests[0].title() print(f"\n{name}, please come to dinner.") name = guests[1].title() print(f"{name}, please come to dinner.") name = guests[2].title() print(f"{name}, please come to dinner.") ·5·
练习答案 输出: Guido Van Rossum, please come to dinner. Jack Turner, please come to dinner. Lynn Hill, please come to dinner. Sorry, Jack Turner can't make it to dinner. Guido Van Rossum, please come to dinner. Gary Snyder, please come to dinner. Lynn Hill, please come to dinner. 练习 3-6 添加嘉宾 你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。  以你完成练习 3-4 或 3-5 时编写的程序为基础,在程序末尾添加一条 print 语句,指 出你找到了一个更大的餐桌。  使用 insert()将一位新嘉宾添加到名单开头。  使用 insert()将另一位新嘉宾添加到名单中间。  使用 append()将最后一位新嘉宾添加到名单末尾。  打印一系列消息,向名单中的每位嘉宾发出邀请。 # 邀请一些嘉宾与你共进晚餐。 guests = ['guido van rossum', 'jack turner', 'lynn hill'] name = guests[0].title() print(f"{name}, please come to dinner.") name = guests[1].title() print(f"{name}, please come to dinner.") name = guests[2].title() print(f"{name}, please come to dinner.") name = guests[1].title() print(f"\nSorry, {name} can't make it to dinner.") ·6·
练习答案 # Jack 无法赴约,转而邀请 Gary。 del(guests[1]) guests.insert(1, 'gary snyder') # 重新打印邀请函。 name = guests[0].title() print(f"\n{name}, please come to dinner.") name = guests[1].title() print(f"{name}, please come to dinner.") name = guests[2].title() print(f"{name}, please come to dinner.") # 找到了更大的餐桌,再邀请一些嘉宾。 guests.insert(0, 'frida kahlo') guests.insert(2, 'reinhold messner') guests.append('elizabeth peratrovich') name = guests[0].title() print(f"{name}, please come to dinner.") name = guests[1].title() print(f"{name}, please come to dinner.") name = guests[2].title() print(f"{name}, please come to dinner.") name = guests[3].title() print(f"{name}, please come to dinner.") name = guests[4].title() print(f"{name}, please come to dinner.") name = guests[5].title() print(f"{name}, please come to dinner.") ·7·
练习答案 输出: Guido Van Rossum, please come to dinner. Jack Turner, please come to dinner. Lynn Hill, please come to dinner. Sorry, Jack Turner can't make it to dinner. Guido Van Rossum, please come to dinner. Gary Snyder, please come to dinner. Lynn Hill, please come to dinner. We got a bigger table! Frida Kahlo, please come to dinner. Guido Van Rossum, please come to dinner. Reinhold Messner, please come to dinner. Gary Snyder, please come to dinner. Lynn Hill, please come to dinner. Elizabeth Peratrovich, please come to dinner. 练习 3-7 缩减名单 你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。  以完成练习 3-6 时编写的程序为基础,在程序末尾添加一行代码,打印一条消息,指 出你只能邀请两位嘉宾共进晚餐。  使用 pop()不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹出一 位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进晚餐。  对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在邀请之列。  使用 del 将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程序结 束时名单确实是空的。 # 邀请一些嘉宾与你共进晚餐。 guests = ['guido van rossum', 'jack turner', 'lynn hill'] name = guests[0].title() print(f"{name}, please come to dinner.") ·8·
分享到:
收藏