01、字典的应用实例
【例1】假设姓名不重复,现有若干同学的姓名和成绩组成键-值对存放在字典stu中。stu={"张琳": 58,"孙治平": 70,"徐小伟": 89,"徐丽萍": 69,"童万丽": 90,"钱志敏": 84,"赵虚余": 64},请编程完成如下任务。
(1) 在字典中添加姓名为"晋宇浩"的同学,成绩显示为“缺考”。
(2) 张琳的成绩改为60。
(3) 删除徐小伟以及他的成绩。
(4) 显示原有字典和现有字典。
(5) 统计当前总人数。
(6) 从键盘输入一名同学的姓名,显示该同学的成绩,如字典中无此同学则显示“没找到该同学”。
第一种方法。
程序源代码如下:
#example4_5_1.py
#coding =utf -8
stu={
"张琳":58,"孙治平":70,"徐小伟":89,"徐丽萍":69,"童万丽":90,"钱志敏":84,"赵虚余":64}print("原有字典:",stu)stu[晋宇浩 ]='缺考'
stu[张琳']=60
del stu["徐小伟"]
print("现有字典:",stu)
print( 当前总人数为:,len(stu))name = input(请输入姓名:)
if name in stu:
print(该同学成绩为:’stulnamel)else:
print("没找到该同学")
程序example4_5_1.py可能的一种运行结果如下:
=== RESTART: G: example4 5 1.py ===========
原有字典:['张琳':58,"孙治平': 70,徐小伟': 89,徐丽萍': 69,童万丽': 90,"钱志敏':84,赵虚余': 64}
现有字典:{
张琳': 60,孙治平: 70,徐丽萍': 69,童万丽': 90,钱志敏': 84,赵虚余':64,晋宇浩 :缺考
当前总人数为:7
请输入姓名:童万丽
该同学成绩为:90
程序example4_5_1.py可能的另一种运行结果如下:
>>
============ RESTART: G: example4 5 1.py ============
原有字典:[张琳':58,"孙治平': 70,徐小伟': 89,徐丽萍':69,童万丽': 90,"钱志敏: 84,赵虚余':64)
现有字典:[张琳':60,孙治平': 70,徐丽萍': 69,童万丽': 90,钱志敏': 84,赵虚余':64,晋宇浩':'缺考
当前总人数为: 7请输入姓名:张平没找到该同学
第二种方法。
程序源代码如下:
#example4 5 2.py
# coding =utf -8
stu={
"张琳":58,"孙治平":70,"徐小伟":89,"徐丽萍”:69,
"童万丽":90,"钱志敏":84,"赵虚余":64}print("原有字典:",stu)
stu.update( 晋宇浩 :'缺考 ,张琳':60))stu.pop("徐小伟")
print("现有字典:”,stu)
print'当前总人数为:len(stu))
name = input(请输入姓名:)
if name in stu.keys():
print( 该同学成绩为:stu[name])else:
print("没找到该同学”)
思考: 从键盘输入一名同学的姓名,如果该姓名存在则输出成绩后又可以再次输入姓名、输出成绩,直到字典中没有该姓名时程序结束运行。请编写实现该功能的程序,保存为question4_5_1.py。该程序可能的一次运行结果如下:
RESTART: G: question4 5 1.y==-=====原有字典:['张琳': 58,孙治平: 70,徐小伟': 89,徐丽萍':69,童万丽': 90,钱志敏: 84,赵虚余': 64)
现有字典:张琳':60,"孙治平: 70,徐丽萍': 69,童万丽':90,"钱志敏': 84,"赵虚余: 64,晋
宇浩':缺考门
当前总人数为:7请输入姓名:孙治平该同学成绩为:70请输入姓名:童万丽该同学成绩为:90请输入姓名:晋宇浩该同学成绩为:缺考请输入姓名:章赞没找到该同学