Python的学习中,有列表、元组、字典等概念,于我老夫子来说,单单把这些概念理解就不太容易,小老师倒是很有方法,借用荧屏热播剧情来教学。这不,运用列表来创建《延禧攻略》之魏璎珞请客名单:
要求:
春节到临之际,魏璎珞计划宴请妃嫔吃饭,包括:太后、皇后、纯妃、小嘉嫔、淑妃以及皇上,并且唱了一出鸿门宴。请创建一个列表,打印出宾客的名字,载明“春节将至,请大家过来延禧宫小聚”,但是小嘉嫔得知后,由于在争宠失败不想参加她的宴会,就让宫女拒绝了。请打印出谁不能参加此次宴会,于是魏璎珞想请尔晴参加,请重新修改列表,打印出邀请的名单。
皇上收到邀请后,感觉魏璎珞的点子特别好,于是特许她在御花园宴请大家。于是魏璎珞可以邀请更多的人了。请使用insert方法把‘哥哥’放在邀请函的开头;由于傅恒是自己的小情人,所以请用append方法把‘傅恒’放在名单最后。请重新打印所有人的名单,并且使用len()函数打印出一共邀请了多少人,并且复制一个新的列表备份。明玉看到最后的邀请名单后,先是打印了前三个名字,然后又打印查看了后三个人的名字,最后感觉顺序不对。于是她颠倒了一下顺序,看着舒服多了。
马上到了宴会开始的时候,皇上得知傅恒和魏璎珞的关系,特别生气。于是收回了魏璎珞的御花园宴请宾客的命令。魏璎珞不得不把宴请重新搬回到延禧宫。并且为了避险,只能宴请两位妃嫔:皇后和尔晴。请用pop方法把多余的名单删除,并且告诉他们特别遗憾不能邀请大家吃饭。然后告诉皇后和尔晴依然在受邀之列。
宴会开始之后,请使用pop语句删除邀请名单。
解析要做些什么?
1、列出所有人的列表;
2、小嘉嫔拒绝邀请,打印出不能参加的人(打印指定元素);
3、尔晴参加,修改列表,打印出邀请的名单;
4、地点从 延禧宫 变成 御花园;
5、insert方法把‘哥哥’放在邀请名单的开头;append方法把‘傅恒’放在名单最后。
6、重新打印所有人的名单,并且使用len方法打印出一共邀请了多少人,复制一个新的列表备份。
8、分别打印前与后三个人的名字,然后颠倒顺序。
9、地点再次从御花园改回到延禧宫,只请皇后和尔晴;
10、删除多余人员,并告知“特别遗憾不能邀请大家吃饭”。
11、del 删除名单。
以下为我写得代码:
# 创建魏璎珞请客名单
yan_xi_gong_lue = ['太后','皇后','纯妃','小嘉嫔','淑妃','皇上']寓教于乐
print('宾客共有几位:',len(yan_xi_gong_lue), '位')
print(yan_xi_gong_lue) # 三种方法打印列表之第一种
print('魏璎珞请客的名单是:{}'.format(yan_xi_gong_lue)) # 三种方法打印列表之第二种
print('魏璎珞请客的名单是:',yan_xi_gong_lue) # 三种方法打印列表之第三种
# 用变量的方式分别打印
print('宾客依顺序分别是:')
print(yan_xi_gong_lue[0])
print(yan_xi_gong_lue[1]),print(yan_xi_gong_lue [2])
print(yan_xi_gong_lue[3]),print(yan_xi_gong_lue[4]),print(yan_xi_gong_lue[5])
# 最后一个再打印一次
print(yan_xi_gong_lue[-1])
print('魏璎珞写到:春节将至,请大家过来小聚')
# 小嘉嫔不愿参会,打印出小嘉嫔
print('不愿出席的是:',yan_xi_gong_lue[3])
yan_xi_gong_lue[3]='尔晴'
print('修改宾客为:',yan_xi_gong_lue[3])
print('更改后的名单:',yan_xi_gong_lue)
print('更改后后的名单:{}'.format(yan_xi_gong_lue))
# 看看真假
in_y = '小嘉嫔' in yan_xi_gong_lue
print('还在不?',in_y )
not_y = '小嘉嫔' not in yan_xi_gong_lue
print('看看真假',not_y, )
print('遵皇后懿旨,宴会地点改为御花园')
yan_xi_gong_lue.insert(0,'哥哥') # 加上'哥哥'
print('新的名单为:',yan_xi_gong_lue)
# 结尾添上'傅恒'
yan_xi_gong_lue.append('傅恒')
print('更新的名单为:',yan_xi_gong_lue)
print('一共邀请了多少人?:',len(yan_xi_gong_lue),'人')
# 复制一份备存
guest_wei = yan_xi_gong_lue.copy()
print(guest_wei)
print(yan_xi_gong_lue[:3]) # 打印前三个人的名字
print(yan_xi_gong_lue[-3:]) # 打印后三个人的名字
# 颠倒一下顺序,名单看着舒服些 #逆序列表
yan_xi_gong_lue.reverse()
print(yan_xi_gong_lue)
#皇上生气了,宴会改回到延禧宫
print('宴会地点由御花园改回到延禧宫')
yan_xi_gong_lue.pop(0)
yan_xi_gong_lue.pop(0)
yan_xi_gong_lue.pop(0)
yan_xi_gong_lue.pop(1)
yan_xi_gong_lue.pop()
yan_xi_gong_lue.pop()
print(yan_xi_gong_lue)
print('特别遗憾不能邀请大家吃饭,只有:',yan_xi_gong_lue[::-1])
# 删除邀请名单
del yan_xi_gong_lue
网友评论