字典部分
问题描述
演员 | 角色 | 配音 |
---|---|---|
杨幂 | 扶摇 | 王潇倩 |
阮经天 | 长孙无极 | 马正阳 |
刘奕君 | 齐震 | 刘奕君 |
高伟光 | 战北野 | 赵成晨 |
王劲松 | 长孙迥 | 王劲松 |
黄宥明 | 燕惊城 | 文森 |
高瀚宇 | 江枫 | 袁聪宇 |
顾又铭 | 站北恒 | 林强 |
秦焰 | 周叔 | 宣晓鸣 |
蒋龙 | 小七 | 苏尚卿 |
根据上表构建Fuyao_Actor_Prifile的字典,其中包括演员、所示角色和配音演员。然后打印出杨幂所扮演的角色。创建备份字典Copy_Fuyao,防止演员变化。
假如由于阮经天因有事不能参加本次拍摄,请在演员表中去除他的信息,替换为陈晓,并且打印出阮经天所在的演员字典中的演员名及角色名,并统计一共有多少个角色。然后根据下表增加新的角色信息。
演员 | 角色 | 配音 |
---|---|---|
张雅钦 | 雅兰珠 | 吟良犬 |
王鹤润 | 凤净梵 | 蔡娜 |
周俐葳 | 时岚 | 张晗 |
魏晖倪 | 简雪 | 曹一茜 |
接下来重点描述一下杨幂主演的角色扶摇的信息。创建一个新的字典存放以下信息:扶摇的名字;喜欢她的男性角色,长孙无极、战北野、小七;去过的国家有,太渊、天权、天煞、璇玑。
问题实现步骤
- 创建字典并输出
- 复制字典
- 字典要素的替换和删除
- 统计数量
- 添加角色
- 创建新字典
问题分步骤实现
选取部分进行演示
创建字典并输出
#创建字典
Fuyao_Actor_Prifile = {
"杨幂":['扶摇','王潇倩'],
"阮经天":['长孙无极','马正阳'],
"刘奕君":['齐震','刘奕君'],
"高伟光":['战北野','赵成晨'],
"王劲松":['长孙迥','王劲松'],
"黄宥明":['燕惊城','文森'],
"高瀚宇":['江枫','袁聪宇'],
"顾又铭":['站北恒','林强'],
"秦焰":['周叔','宣晓鸣'],
"蒋龙":['小七','苏尚卿'],
}
print(Fuyao_Actor_Prifile["杨幂"])
删改查
选取替换删除步骤演示
#阮经天替换陈晓并删除
Fuyao_Actor_Prifile["陈晓"] = Fuyao_Actor_Prifile["阮经天"]
del Fuyao_Actor_Prifile["阮经天"]
print("替换结果",Fuyao_Actor_Prifile)
print("\n阮经天所在字典:",Copy_Fuyao)
结果展示
如下:
附所有代码:
#创建字典
Fuyao_Actor_Prifile = {
"杨幂":['扶摇','王潇倩'],
"阮经天":['长孙无极','马正阳'],
"刘奕君":['齐震','刘奕君'],
"高伟光":['战北野','赵成晨'],
"王劲松":['长孙迥','王劲松'],
"黄宥明":['燕惊城','文森'],
"高瀚宇":['江枫','袁聪宇'],
"顾又铭":['站北恒','林强'],
"秦焰":['周叔','宣晓鸣'],
"蒋龙":['小七','苏尚卿'],
}
print(Fuyao_Actor_Prifile["杨幂"])
#复制原词典
Copy_Fuyao= Fuyao_Actor_Prifile.copy()
print("\n复制成功\n",Copy_Fuyao)
print()
#阮经天替换陈晓并删除
Fuyao_Actor_Prifile["陈晓"] = Fuyao_Actor_Prifile["阮经天"]
del Fuyao_Actor_Prifile["阮经天"]
print("替换结果",Fuyao_Actor_Prifile)
print("\n阮经天所在字典:",Copy_Fuyao)
print()
#统计角色数量
print("共有",len(Fuyao_Actor_Prifile),"个\n")
#添加新角色
Fuyao_Actor_Prifile.setdefault("张雅钦",['雅兰珠','吟良犬'])
Fuyao_Actor_Prifile.setdefault("王鹤润",['凤净梵','蔡娜'])
Fuyao_Actor_Prifile.setdefault("周俐葳",['时岚','张晗'])
Fuyao_Actor_Prifile.setdefault("魏晖倪",['简雪','曹一茜'])
print("添加角色后的字典为:",Fuyao_Actor_Prifile)
#创建新字典存放
Foyao_New = {
"扶摇":{
"喜欢她的男性":['长孙无极','战北野','小七'],
"去过的国家":['太渊','天权','天煞','璇玑']
}
}
print("\n新字典:\n",Foyao_New)
九九乘法表
这一部分的问题没有什么值得表述的,输出九九乘法表即可,直接上:
#九九乘法表第一次输出
for i in range(0,10):
for j in range(0,i+1):
print(i,'*',j,'=',i*j,end=' ')
print()
输出结果:
在上述结果演示中,结果虽然正确,但由于两位数和一位数的不同输出宽度,导致整个结果看上去比较凌乱,考虑到10作为个位和十位的分界线,尝试通过表达式对输出结果格式修正,如下:
#九九乘法表结果优化
for i in range(0,10):
for j in range(0,i+1):
if i*j < 10:
print('%1d*%1d=%1d'%(j,i,i*j),end=' ')
else:
print('%1d*%1d=%2d'%(j,i,i*j),end=' ')
print()
最终结果:
优化完成
总结
字典的嵌套有多种组合,在不同情况下适用不同的嵌套组合,在本例中,采取字典和列表进行组合,列表嵌入字典,同时将角色作为key方便根据题目进行修改。在九九乘法表中,输出结果没有什么变化,但表达式可以让结果的展示更加整洁。