2. 查找这些单词
3.如果查不到,请让用户知道
4. 循环
#coding:utf-8
# 字典创建 while开关 字典添加 字典寻找
dictionary = {}
flag = 'a'
pape = 'a'
off = 'a'
while flag == 'a' or 'c' :
flag = input("添加或查找单词 ?(a/c)")
if flag == "a" : # 开启
word = input("输入单词(key):")
defintion = input("输入定义值(value):")
dictionary[str(word)] = str(defintion) # 添加字典
print "添加成功!"
pape = input("您是否要查找字典?(a/0)") #read
if pape == 'a':
print dictionary
else :
continue
elif flag == 'c':
check_word = input("要查找的单词:") # 检索
for key in sorted(dictionary.keys()): # yes
if str(check_word) == key:
print "该单词存在! " ,key, dictionary[key]
break
else: 销蔽 # no
off = 'b'
if off == 'b':
print "抱歉,该值不存在!"
else: # 停止
print "error type"
break
测试输入亏喊州:
添加或查找单词 ?(a/c)a
输入单词(key):runoob
输入定义值(value): www.runoob.com
添加成功!
您是否要查找字典?(a/0)0
添加或查找单词 ?(a/c)c
要查找的单词:runoob
该单词存在! runoob www.runoob.com
添加或查找单词渗戚 ?(a/c)
提供一激侍态些思路吧:如果使用C,可以考虑用一个谈尘搜索树实现,就是一个26叉树,每个节点最后带有该单词的解释,搜索一个单词的时候从树根开始,每个字母选择一个分支,单词搜索完,停留的节点最后就明源是对应的解释,这个方法在查询的时候时间复杂度可以达到O(1)。
如果使用C++,可以考虑使用map,key是单词,value是解释。
# 创建 dic_student 字典dic_student = dict()
# 依次输入姓名和年龄,存入dic_student字典枣轿,共 5 组数据
for i in range(5):
name = input().strip()
age = int(input().strip())
dic_student.update({name: age})
# 按行输出,中间培腊用 \t 隔开
for key, value in dic_student.items():
print(key, value, sep='配岩滑\t')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)