《Python编程 从入门到实践》练习(持续更新)

第二章 变量和简单的数据类型

练习2.1:简单信息

题目:将一条消息赋给变量,并将其打印出来。

message = "hello world!"
print(message)

练习2.2:多条简单信息

题目:将一条消息赋给变量,并将其打印出来;再将变量的值修改为一条新信息,并将其打印出来。

message = "hello world!"
print(message)

message = "hello python!"
print(message)

练习2.3:个性化信息

题目:用变量表示一个人的名字,并向其显示一条消息。显示的消息应非常简单,如下所示。

Hello Eric, would you like to learn some Python today?

name = "Eric"
message = f"Hello {name}, would you like to learn some Python today?"
print(message)

练习2.4:调整名字的大小写

题目:用变量表示一个人的名字,再分别以全小写、全大写和首字母大写的方式显示这个人名。

name = "healer"
print(name.lower())
print(name.upper())
print(name.title())

练习2.5:名言1

题目:找到你钦佩的名人说的一句名言,将这个名人的姓名和名言打印出来。输出应类似于下面这样(包括引号)。

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 never tried anything new.”')

练习2.6:名言2

题目:重复练习 2.5,但用变量 famous_person 表示名人的姓名,再创建要显示的消息并将其赋给变量 message,然后打印这条消息。

first_name = "albert"
last_name = "einstein"
famous_person = f"{first_name.title()} {last_name.title()}"
message = f"{famous_person} once said, “A person who never made a mistake never tried anything new.”"
print(message)

练习2.7:删除人名中的空白

题目:

        用变量表示一个人的名字,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合 "\t" 和 "\n" 各一次。

        打印这个人名,显示其开头和末尾的空白。然后,分别使用函数 lstrip()、rstrip() 和 strip() 对人名进行处理,并将结果打印出来。

name = "\thealer\n"
print(name)
name1 = name.lstrip()
name2 = name.rstrip()
name3 = name.strip()
print(name1)
print(name2)
print(name3)

注意:题目要求分别使用删除空白的函数,因此在修改的时候要将修改后的结果重新赋值给新的变量

练习 2.8:文件扩展名 

题目:Python 提供了 removesuffix() 方法,其工作原理与 removeprefix() 很像。请将值 'python_notes.txt' 赋给变量 filename,再使用 removesuffix() 方法来显示不包含扩展名的文件名,就像文件浏览器所做的那样。

filename = "python_notes.txt"
filename = filename.removesuffix(".txt")
print(filename)

注意:removesuffix的作用是删除后缀,如果你输入的想删除的内容不是连续的从某个字母到最后一个字母,而是中间的部分或者是不在这个变量内容中的字母的时候,这个函数不会对你的变量有任何操作会直接返回原来的内容。

练习2.9:数字8

题目:编写 4 个表达式,分别使用加法、减法、乘法和除法运算,但结果都是数字 8。为了使用函数调用 print() 来显示结果,务必将这些表达式用括号括起来。

print(5 + 3)
print(9 - 1)
print(2 * 4)
print(int(16 / 2))  #(1)

注意:虽然我们知道除法的运算结果默认为浮点数,但是如果我们想要得到整数的结果可以在运算结果前加上int()如(1)所示,得到结果就是8了。同时,这种方法是将小数点后的内容全部舍去,注意跟我们平常所说的四舍五入相区别。例如int(15/2)的结果应为7。

 练习2.10:最喜欢的数

题目:用一个变量来表示你最喜欢的数,再使用这个变量创建一条消息,指出你最喜欢的数是什么,然后将这条消息打印出来。

number = 30
message = f"My favourite number is {number}!"
print(message)

练习2.11:添加注释

练习2.12:Python之禅


第三章 列表简介

练习3.1:姓名

题目:将一些朋友的姓名存储在一个列表中,并将其命名为 names。依次访问该列表的每个元素,从而将每个朋友的姓名都打印出来。

names = ["Healer", "Stephen", "Curry"]
print(names[0])
print(names[1])
print(names[2])

练习3.2:问候语

题目:继续使用练习 3.1 中的列表,但不打印每个朋友的姓名,而是为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。

names = ["Healer", "Stephen", "Curry"]
print(f"Good evening, {names[0]}!")
print(f"Good evening, {names[1]}!")
print(f"Good evening, {names[2]}!")

练习3.3:自己的列表

题目:想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的陈述。

cars = ["Ferrari", "Mercedes", "Aston Martin"]
print(f"I would like to own a {cars[0]}.")
print(f"I would like to own a {cars[1]}.")
print(f"I would like to own a {cars[2]}.")

练习3.4:嘉宾名单

题目:如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),你会邀请哪些人?请创建一个列表,其中包含至少三个你想邀请的人,然后使用这个列表打印消息,邀请这些人都来与你共进晚餐。

members = ["mom", "dad", "brother"]
print(f"{members[0].title()}, would you like to have a dinner with me?")
print(f"{members[1].title()}, would you like to have a dinner with me?")
print(f"{members[2].title()}, would you like to have a dinner with me?")

练习3.5:修改嘉宾名单

题目:你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。以完成练习 3.4 时编写的程序为基础,在程序末尾添加函数调用 print(),指出哪位嘉宾无法赴约。修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。再次打印一系列消息,向名单中的每位嘉宾发出邀请。

members = ["mom", "dad", "brother"]
print("Brother can not come to the dinner.")
members[2] = "sister"
print(f"{members[0].title()}, would you like to have a dinner with me?")
print(f"{members[1].title()}, would you like to have a dinner with me?")
print(f"{members[2].title()}, would you like to have a dinner with me?")

练习3.6:添加嘉宾

题目:你刚找到了一张更大的餐桌,可容纳更多的嘉宾就座。请想想你还想邀请哪三位嘉宾。
以完成练习 3.4 或练习 3.5 时编写的程序为基础,在程序末尾添加函数调用 print(),指出你找到了一张更大的餐桌。

  • 使用 insert() 将一位新嘉宾添加到名单开头。
  • 使用 insert() 将另一位新嘉宾添加到名单中间。
  • 使用 append() 将最后一位新嘉宾添加到名单末尾。
  • 打印一系列消息,向名单中的每位嘉宾发出邀请。
members = ["mom", "dad", "brother"]
print("Brother can not come to the dinner.")
members[2] = "sister"
print("I found a bigger table.")
members.insert(0, "Tom")
members.insert(2, "Max")
members.append("David")
print(f"{members[0].title()}, would you like to have a dinner with me?")
print(f"{members[1].title()}, would you like to have a dinner with me?")
print(f"{members[2].title()}, would you like to have a dinner with me?")
print(f"{members[3].title()}, would you like to have a dinner with me?")
print(f"{members[4].title()}, would you like to have a dinner with me?")
print(f"{members[5].title()}, would you like to have a dinner with me?")

练习3.7:缩短名单

代码:

members = ["mom", "dad", "brother"]
print("Brother can not come to the dinner.")
members[2] = "sister"
print("I found a bigger table.")
members.insert(0, "Tom")
members.insert(2, "Max")
members.append("David")
print("Sorry, I can just invite two people now.")
print(f"{members.pop().title()}, I'm very sorry about I can't have the dinner with you.")
print(f"{members.pop().title()}, I'm very sorry about I can't have the dinner with you.")
print(f"{members.pop().title()}, I'm very sorry about I can't have the dinner with you.")
print(f"{members.pop().title()}, I'm very sorry about I can't have the dinner with you.")
print(f"{members[0].title()}, would you like to have a dinner with me?")
print(f"{members[1].title()}, would you like to have a dinner with me?")
del members[0]
del members[0]    #(1)
print(members)

 结果:

Brother can not come to the dinner.
I found a bigger table.
Sorry, I can just invite two people now.
David, I'm very sorry about I can't have the dinner with you.
Sister, I'm very sorry about I can't have the dinner with you.
Dad, I'm very sorry about I can't have the dinner with you.
Max, I'm very sorry about I can't have the dinner with you.
Tom, would you like to have a dinner with me?
Mom, would you like to have a dinner with me?
[]

注意:在(1)的位置删除元素的时候注意要删除索引为0的元素,因为在上面已经删除了第一个元素了只剩下一个元素了

练习3.8:放眼世界

题目:想出至少 5 个你想去旅游的地方。

  • 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
  • 按原始排列顺序打印该列表。不要考虑输出是否整洁,只管打印原始 Python 列表就好。
  • 使用 sorted() 按字母顺序打印这个列表,不要修改它。
  • 再次打印该列表,核实排列顺序未变。
  • 使用 sorted() 按与字母顺序相反的顺序打印这个列表,不要修改它。
  • 再次打印该列表,核实排列顺序未变。
  • 使用 reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
  • 使用 reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
  • 使用 sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。
  • 使用 sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表
country = ["China", "America", "Iceland", "England", "Croatia"]
print(country)
print(sorted(country))
print(country)
print(sorted(country, reverse = True))
print(country)
country.reverse()
print(country)
country.reverse()
print(country)
country.sort()
print(country)
country.sort(reverse = True)
print(country)

注意:对于sort()和reverse()等方法类操作不能直接打印,因为他们返回的是None值

练习3.9:晚餐嘉宾

题目:选择你为完成练习 3.4~练习 3.7 而编写的一个程序,在其中使用 len() 打印一条消息,指出你邀请了多少位嘉宾来共进晚餐。

members = ["mom", "dad", "brother"]
print("Brother can not come to the dinner.")
members[2] = "sister"
print("I found a bigger table.")
members.insert(0, "Tom")
members.insert(2, "Max")
members.append("David")
print(f"I invite {len(members)} people.")

练习3.10:尝试使用各个函数

练习3.11:有意引发错误


第四章 操作列表

练习4.1:披萨

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

  • 修改这个 for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称。对于每种比萨都显示一行输出,如下所示。

I like pepperoni pizza.

  • 在程序末尾添加一行代码(不包含在 for 循环中),指出你有多喜欢比萨。输出应包含针对每种比萨的消息,还有一个总结性的句子,如下所示。

I really love pizza!

pizzas = ["pizza1", "pizza2", "pizza3"]
for pizza in pizzas:
    print(pizza)
    print(f"I like {pizza}.\n")
print("I really like pizzas!")

练习4.2:动物

题目:想出至少三种有共同特征的动物,将其名称存储在一个列表中,再使用 for 循环将每种动物的名称打印出来

  • 修改这个程序,使其针对每种动物都打印一个句子,如下所示。

A dog would make a great pet.

  • 在程序末尾添加一行代码,指出这些动物的共同之处,如打印下面这样的句子。

Any of these animals would make a great pet!

animals = ["dog", "cat", "rabbit"]
for animal in animals:
    print(animal)
    print(f"A {animal} would make a great pet.\n")
print("Any of these animals would make a great pet.")

练习4.3:数到20

题目:使用一个 for 循环打印数 1~20(含)

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

练习4.4:100万

题目:创建一个包含数 1~1 000 000 的列表,再使用一个 for 循环将这些数打印出来。(如果输出的时间太长,按 Ctrl + C 停止输出,或关闭输出窗口。)

numbers = list(range(1, 1000001))
for value in numbers:
    print(value)

练习4.5:100万求和

题目:创建一个包含数 1~1 000 000 的列表,再使用 min() 和 max() 核实该列表确实是从 1 开始、到 1 000 000 结束的。另外,对这个列表调用函数 sum(),看看 Python 将 100 万个数相加需要多长时间。

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

练习4.6:奇数

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

odd_numbers = [value for value in range(1, 21, 2)]
print(odd_numbers)

练习4.7:3的倍数

题目:创建一个列表,其中包含 3~30 内能被 3 整除的数,再使用一个 for 循环将这个列表中的数打印出来。

numbers = list(range(3, 31, 3))
for value in numbers:
    print(value)

练习4.8:立方

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

cubes = list(range(1, 11))
for index in range(0, 10):
    cubes[index] = cubes[index] ** 3
    print(cubes[index])

练习4.9:立方推导式

题目:使用列表推导式生成一个列表,其中包含前 10 个整数的立方

cubes = [value ** 3 for value in range(1, 11)]
print(cubes)

​​​​​​​

  • 32
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值