python 字典使用实例:创建通信录并完成修改、查找操作

练习目的:巩固python 字典的创建,合并,修改及使用。

学了python字典后,同学们想创建一个自己的通信录,小明是这么做的:

  1. 先根据三位舍友的联系方式创建一个字典dicTXL
  2. 然后将隔壁舍长已创建好的字典dicOther合并进自己的通信录
  3. 合并之后,小明又打算给通信录增加一列“微信号”,为此他询问了相关同学的微信号并存储在了字典dicWX中,然后合并进了通信录,而没有询问到微信号的同学使用手机号做为默认微信号。

完成以上通信录,并测试:

  1. 将‘大王’的手机号更改为13914000004
  2. 输入姓名查找对应同学的手机号,QQ号,微信号,如果输入的姓名不存在,则返回“没有该同学的联系方式”。

代码:

dicTXL={'小新':{'手机号':13913000001,'QQ':18191220001},'小亮':{'手机号':13913000002,'QQ':18191220002},'小刚':{'手机号':13913000003,'QQ':18191220003}}
dicOther={'大刘':{'手机号':13914000001,'QQ':18191230001},'大王':{'手机号':13914000002,'QQ':18191230002},'大张':{'手机号':13914000003,'QQ':18191230003}}
dicMy=dict(dicTXL,**dicOther)
print(dicTXL)
print(dicOther)
print(dicMy)
dicWX={'小新':{'微信':'xx9907'},'小刚':{'微信':'gang1004'},'大王':{'微信':'jack_w'},'大刘':{'微信':'liu666'}}
print(dicWX)
for k,v in dicMy.items():
    if k in dicWX:
       dicMy[k]['微信']=dicWX[k]['微信']
    else:
        dicMy[k]['微信']=dicMy[k]['手机号']

print(dicMy)
dicMy['大王']['手机号']=13914000004
print(dicMy)
name=input("请输入要查找的学生姓名:")
if name in dicMy:
    print(dicMy[name])
else:
    print("没有该同学的联系方式")

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4633.html

(48)
江山如画的头像江山如画管理团队
上一篇 2020年1月22日 上午11:15
下一篇 2020年1月22日 下午5:24

99%的人还看了以下文章

  • 通用数据库操作类及员工信息查询实例

    package com.common; import java.sql.*; public class DataBaseConn { public Connection conn = null; public void createConn(){ String url = “jdbc:mysql://localhost:3306/employeeDb”; S…

    2019年11月27日
    9.2K0
  • Java常见面试题200+,学习、面试必备

    本套Java面试题,选取了企业面试最常问到的问题,可以做为Java工程师的面试宝典,也可以做为想要不断完善和扩充自己 java 技术的学习者。 主要包含: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Myb…

    2019年8月29日
    7.7K0
  • python 初学者练手上机实操一

    一、从键盘输入商品名称、商品的单价、商品的数量, 计算商品总价,并按如下格式输出: 商品名称:牛奶,单价:5元,数量:2件,总价:10元 二、从键盘输入年龄,如果>=18岁显示“已成年”,否则显示“未成年”。 三、输入三条边长,如果能构成三角形就计算周长并显示,否则显示“不能构成三角形”。 四、百分制成绩转换为等级制成绩。 要求:如果输入的成绩在90分…

    2023年4月7日
    3.4K0
  • python 递归函数使用示例,求两个整数的最大公约数(欧几里得算法)

    用于计算两个整数的最大公约数的递归算法称为欧几里得算法,其计算原理依赖于定理: 两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。 公式为:gcd(a,b)=gcd(b, a mod b) 递归函数使用示例, def gcd(a, b): if b == 0: return a else: return gcd(b, a % b) prin…

    2020年1月31日
    9.7K0
  • Double.valueOf(r).doubleValue();是什么意思

    在一段代码中看到Double.valueOf(“2020”).doubleValue(),先出现了Double.valueOf(),又用了doubleValue(),有点迷惑,为什么这么用呢? <% String s=request.getParameter(“radius”); double r; if(s!=null) {r…

    2019年9月5日
    11.2K0
  • java Jdbc数据库分页源码详解

    本文用到了jdbc 的游标移动 package com.sp.person.sql.util; import java.sql.*; import java.util.Map; import java.util.TreeMap; import javax.sql.DataSource; /** * JDBC 分页查询 * absolute 与relative…

    2020年2月19日
    5.0K0

发表回复

登录后才能评论