Python基础练习——使用字典存储电话薄

来源:互联网 发布:java bytebuffer 读取 编辑:程序博客网 时间:2024/06/11 21:30

定义:字典是Python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里。键可以是数字、字符串、甚至元组

  • 通过指定的键从字典访问值。
  • 列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
  • 键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

题目:使用字典来存储联系人及电话号码,并实现查询功能

初始代码:

# -*- coding:utf-8 -*-#创建字典TelDict={    "小妖精":17000000001,    "老妖怪":17000000010,    }print "请输入联系人姓名"name=raw_input()print "请输入对应号码"tel=raw_input()print "请输入查询姓名"name=raw_input()tel=TelDict(name)print TelDict.get(tel)

错误之处:
1、print TelDict.get(tel) 修改为 print TelDict.get(name)

  • get用来查询的键以及自定义值(默认为None)做参数,返回键对应的值。若不存在键则返回自定义值。
  • get有两个参数,第一个是要查询的键,第二个是如果查询不到该键返回的值,默认是None

2、tel=TelDict(name) 修改为 tel=TelDict[name]
字典的基本操作为:

  • d[k]返回关键值到键k上的值;
  • d[k]=v将值v关联到键k上;
  • del d[k]删除键为k的项

3、第10行,输入对应号码后,还没有存到字典中
应该接着 TelDict[name]=tel
- tel=TelDict[name]
这个意思是,我现在有个变量叫做tel,我把TelDict字典里以name做键的值赋给了它。
- TelDict[name]=tel
意思是,现在有个字典叫做TelDict,我把tel的值赋给了字典里以name作为键的值

4、编码建议:写字典的时候,反大括号和字典变量名开头对齐,为了美观。

修改后代码:

# -*- coding:utf-8 -*-#创建字典TelDict={    "小妖精":'17000000001',    "老妖怪":'17000000010',}print "请输入联系人姓名:"name=raw_input()print "请输入对应号码:"tel=raw_input()TelDict[name]=telprint "请输入查询姓名:"name=raw_input()print "查询的号码为:"print TelDict.get(name,"查询不到")

运行结果如下:
这里写图片描述

0 0