Python习题二--3-1~3-10

我会在敲代码过程中列出一些自己还没那么熟悉的知识点,大家可以根据自己的需要查看。

第三章习题汇总

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

names=['小明','小红','小胖']
print(names[0])
print(names[1])
print(names[2])

>>输出
小明
小红
小胖

第二种方法,利用for循环

names=['小明','小红','小胖']
for name in names:
    print(name)

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

names=['小明','小红','小胖']
for name in names:
    print(name+"我喜欢你")
    
 >> 输出
小明我喜欢你
小红我喜欢你
小胖我喜欢你
    

3-3 自己的列表:想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的宣言,如“I would liketo own a Honda motorcycle”。

trans=['飞船','皮皮虾','飞机']
for f in trans:
    print("I would liketo own a "+f)
    >> 输出
I would liketo own a 飞船
I would liketo own a 皮皮虾
I would liketo own a 飞机
    

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

people=['李白','苏东坡','杜甫']
for i in people:
    print(i+"兄,晚来天欲雪,能饮一杯无?")

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

people=['李白','苏东坡','杜甫']
print(people[0]+"兄要饮酒赋诗,无法到场")
people[0]='陆游'
for i in people:
    print(i + "兄,晚来天欲雪,能饮一杯无?")

3-6 添加嘉宾 添 :你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾
以完成练习3-4或练习3-5时编写的程序为基础,在程序末尾添加一条print 语句,指出你找到了一个更大的餐桌。 使用insert() 将一位新嘉宾添加到名单开头。 使用insert() 将另一位新嘉宾添加到名单中间。 使用append() 将最后一位新嘉宾添加到名单末尾。 打印一系列消息,向名单中的每位嘉宾发出邀请。

people=['李白','苏东坡','杜甫']
print(people[0]+"兄要饮酒赋诗,无法到场")
people[0]='陆游'
people.insert(0,'王安石')
people.insert(2, '白居易')
people.append('刘禹锡')
print("我找到了更大的餐桌哦")
for i in people:
    print(i + "兄,晚来天欲雪,能饮一杯无?")

3-7 缩减名单 缩 :你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。
以完成练习3-6时编写的程序为基础,在程序末尾添加一行代码,打印一条你只能邀请两位嘉宾共进晚餐的消息。
使用pop() 不断地删除名单中的嘉宾,直到只有两位嘉宾为止。
每次从名单中弹出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进晚餐。
对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。
使用del 将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程序结束时名单确实是空的。

people=['王安石', '陆游', '白居易', '苏东坡', '杜甫', '刘禹锡']
print("新买的餐桌无法送达,只能邀请两位先生共进晚餐")
while(len(people)>2):
    print(people.pop()+'我很抱歉已经没有位置了')
for i in people:
        print(i+'兄,晚来天欲雪,能饮一杯无')
print(people)
del people[1]
del people[0]
print(people)

>>输出
新买的餐桌无法送达,只能邀请两位先生共进晚餐
刘禹锡我很抱歉已经没有位置了
杜甫我很抱歉已经没有位置了
苏东坡我很抱歉已经没有位置了
白居易我很抱歉已经没有位置了
王安石兄,晚来天欲雪,能饮一杯无
陆游兄,晚来天欲雪,能饮一杯无
['王安石', '陆游']
[]


知识点1

del( )函数,
删除的是变量到对象的引用,而不是删除数据本身

a = 0
b = a
del a # 删除变量a到0的引用,并且删除变量名称a
print(a)
>>输出

在这里插入图片描述

a = 0
b = a
del a # 删除变量a到0的引用,并且删除变量名称a
print(b)
>>输出
0

3-8放眼世界 放 :想出至少5个你渴望去旅游的地方。
· 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
· 按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。
·使用sorted() 按字母顺序打印这个列表,同时不要修改它。
· 再次打印该列表,核实排列顺序未变。
· 使用sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它。 ·再次打印该列表,核实排列顺序未变。
·使用reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
· 使用reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
·使用sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。
· 使用sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了

place=['yunmeng','gusu','qinghe','lanling','qishan']
print('说出5个想去旅游的地方')
print(place)
print('\n使用使用 sorted() 按字母顺序打印这个列表,同时不要修改它')
print(sorted(place))
print('\n本次打印该列表,核实排列顺序未变')
print(place)
print('\n使用 sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它')
print(sorted(place,reverse=True))
print('\n本次打印该列表,核实排列顺序未变')
print(place)
print('\n使用 reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了')
place.reverse()
print(place)
print('\n使用 reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序')
print(place)
print('\n使用 sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了')
place.sort()
print(place)
print('\n使用 sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了')
place.sort(reverse=True)
print(place)
说出5个想去旅游的地方
['yunmeng', 'gusu', 'qinghe', 'lanling', 'qishan']

使用使用 sorted() 按字母顺序打印这个列表,同时不要修改它
['gusu', 'lanling', 'qinghe', 'qishan', 'yunmeng']

本次打印该列表,核实排列顺序未变
['yunmeng', 'gusu', 'qinghe', 'lanling', 'qishan']

使用 sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它
['yunmeng', 'qishan', 'qinghe', 'lanling', 'gusu']

本次打印该列表,核实排列顺序未变
['yunmeng', 'gusu', 'qinghe', 'lanling', 'qishan']

使用 reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了
['qishan', 'lanling', 'qinghe', 'gusu', 'yunmeng']

使用 reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序
['qishan', 'lanling', 'qinghe', 'gusu', 'yunmeng']

使用 sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了
['gusu', 'lanling', 'qinghe', 'qishan', 'yunmeng']

使用 sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了
['yunmeng', 'qishan', 'qinghe', 'lanling', 'gusu']

Process finished with exit code 0

知识点2

主要记住这两个函数
sorted(place) #按字母顺序
sorted(place,reverse=True) #按与字母相反顺序
place.sort() #按字母顺序
place.sort(reverse=True) #按与字母相反顺序
place.reverse () #反转排列顺序

3-9 晚餐嘉宾 晚 :在完成练习3-4~练习3-7时编写的程序之一中,使用len() 打印一条消息,指出你邀请了多少位嘉宾来与你共进晚餐
以3-5为例

people=['李白','苏东坡','杜甫']
print(people[0]+"兄要饮酒赋诗,无法到场")
people[0]='陆游'
for i in people:
    print(i + "兄,晚来天欲雪,能饮一杯无?")
l=len(people)
print('共有'+str(l)+'人')

3-10 尝试使用各个函数 尝 :想想可存储到列表中的东西,如山岳、河流、国家、城市、语言或你喜欢的任何东西。编写一个程序,在其中创建一个包含这些元素的列 表,然后,对于本章介绍的每个函数,都至少使用一次来处理这个列表。

baba=['bei','shang','guang','dawan']
baba.append('shen')
print(baba)
baba.insert(2,'hang')
print(baba)
del baba[0]  #删第一个
print(baba)
poped_baba=baba.pop()  #最后一个
print(poped_baba)
first=baba.pop(1)   #第二个
print(first)
print(baba)
baba.remove('guang')
baba.sort()
print(baba)
baba.sort(reverse=True)
print(baba)
print(str(len(baba)))
baba.reverse()
print(baba)
print(sorted(baba))

['bei', 'shang', 'guang', 'dawan', 'shen']
['bei', 'shang', 'hang', 'guang', 'dawan', 'shen']
['shang', 'hang', 'guang', 'dawan', 'shen']
shen
hang
['shang', 'guang', 'dawan']
['dawan', 'shang']
['shang', 'dawan']
2
['dawan', 'shang']
['dawan', 'shang']

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

看星河的兔子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值