Python第二篇——字典与九九乘法表

字典部分

问题描述

演员角色配音
杨幂扶摇王潇倩
阮经天长孙无极马正阳
刘奕君齐震刘奕君
高伟光战北野赵成晨
王劲松长孙迥王劲松
黄宥明燕惊城文森
高瀚宇江枫袁聪宇
顾又铭站北恒林强
秦焰周叔宣晓鸣
蒋龙小七苏尚卿

根据上表构建Fuyao_Actor_Prifile的字典,其中包括演员、所示角色和配音演员。然后打印出杨幂所扮演的角色。创建备份字典Copy_Fuyao,防止演员变化。
假如由于阮经天因有事不能参加本次拍摄,请在演员表中去除他的信息,替换为陈晓,并且打印出阮经天所在的演员字典中的演员名及角色名,并统计一共有多少个角色。然后根据下表增加新的角色信息。

演员角色配音
张雅钦雅兰珠吟良犬
王鹤润凤净梵蔡娜
周俐葳时岚张晗
魏晖倪简雪曹一茜

接下来重点描述一下杨幂主演的角色扶摇的信息。创建一个新的字典存放以下信息:扶摇的名字;喜欢她的男性角色,长孙无极、战北野、小七;去过的国家有,太渊、天权、天煞、璇玑。

问题实现步骤

  1. 创建字典并输出
  2. 复制字典
  3. 字典要素的替换和删除
  4. 统计数量
  5. 添加角色
  6. 创建新字典

问题分步骤实现

选取部分进行演示

创建字典并输出
#创建字典
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方便根据题目进行修改。在九九乘法表中,输出结果没有什么变化,但表达式可以让结果的展示更加整洁。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值