pyhton第五章 字典与集合 课后习题

第一题

dicTXL={"小新":{"手机":"13913000001","QQ":"18191220001"},
        "小亮":{"手机":"13913000002","QQ":"13913000002"},
        "小刚":{"手机":"13913000003","QQ":"18191220003"}}
dicOther={"大刘":{"手机":"13914000001","QQ":"18191230001"},
          "大王":{"手机":"13914000002","QQ":"18191230002"},
          "大张":{"手机":"13914000003","QQ":"18191230003"}}
dicTXL.update(dicOther)
for k,v in dicTXL.items():
    print(k,v)
    print()
dicWX={"小新":"xx9907","小刚":"gang1004","大王":"jack_w","大刘":"liu666"}
for k,v in dicTXL.items():
    v["微信"]=dicWX.get(k,v["手机"])
for k,v in dicTXL.items():
    print(k,v)
    print()
#测试功能
print("大王原来的通信方式")
print(dicTXL["大王"])
dicTXL["大王"]["手机"]="13914000004"
print("大王更改后的通信方式")
print(dicTXL["大王"])
name=input("请输入要查询的学生姓名:")
print(dicTXL.get(name,"没有该同学的联系方式"))

第二题

scores={"012":(90,94,97,86,85,89,88,85),
        "005":(91,91,92,98,90,96,90,95),
        "108":(96,86,97,96,87,86,86,96),
        "037":(95,95,94,93,97,98,99,95),
        "066":(95,87,94,94,93,99,96,97),
        "020":(89,97,91,95,89,94,97,92)}

res=[(k,round((sum(v)-max(v)-min(v))/(len(v)-2),2))  for k,v in scores.items()]            

res.sort(key=lambda x:x[1],reverse=True)

for item in res:
    print(item)

第三题

course1={'李雷','张玉','王晓刚','陈红静','方向','司马清'}
course2={'施小冉','李芳芳','刘潇','方向','孙一航','黄煌'}
course3={'陈红静','方向','刘培良','张玉','施小冉','司马清'}
courses=course1.copy()
courses.update(course2)
courses.update(course3)
cnt=len(courses)
cntNo=25-cnt
courses=[course1,course2,course3]
cnt2=0
for i in range(3):
    for j in range(i+1,3):
        cnt2=cnt2+len(courses[i] &courses[j])
cnt3=len(course1 & course2 & course3)
cnt2=cnt2-3*cnt3
cnt1=cnt-cnt2-cnt3
print("cntNo=",cntNo)
print("cnt1=",cnt1)
print("cnt2=",cnt2)
print('cnt3=',cnt3)

你可能感兴趣的:(#python,python)