python人名查电话(字典)_Python基础练习——使用字典存储电话薄

时间:2025-04-06 10:14:36

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

通过指定的键从字典访问值。

列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

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

初始代码:

# -*- coding:utf-8 -*-

#创建字典

TelDict={

"小妖精":17000000001,

"老妖怪":17000000010,

}

print "请输入联系人姓名"

name=raw_input()

print "请输入对应号码"

tel=raw_input()

print "请输入查询姓名"

name=raw_input()

tel=TelDict(name)

print (tel)

错误之处:

1、print (tel) 修改为 print (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 (name,"查询不到")

运行结果如下: