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

定义:字典是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]=tel
print "请输入查询姓名:"
name=raw_input()
print "查询的号码为:"
print TelDict.get(name,"查询不到")

运行结果如下:
Python基础练习——使用字典存储电话薄_第1张图片

你可能感兴趣的:(【Python】)