分别输入key和value,key输入回车结束
dic = {}while True:
key = input('Input key:')
if key == '':
break
value = input('Input value:')
dic[key] = value
for key, value in dic.items():
print(key + ' : ' + value)
楼主是想实现以下功能:
①输入姓名查询生日;
②如不存在输入的姓名,则a添加这个姓名;b再给这个键添加值;
③字典内容的保存
楼主你可使用birthday.get(key, default)来实现==其中default表示不存在的键返回默认值(如birthday.get('韩山', “NULL")),也就是表示这个键值对在字典中不存在。这样 *** 作不会有错误提示,只会返回你的default值。
因此,当检测到"NULL"时,将这个键值对添加(birthday['韩山'] = '3月3日' 到字典中就是。
至于内容的保存,你需借助文本文件的读写来完成。
这只是一个大概的思路,还需根据你的具体需求进行适当的修改。
如有帮助,请采纳!
1.传统的文字表达式:>>> d={'name':'Allen','age':21,'gender':'male'}
>>> d
{'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你可以事先拼出整个字典,这种方式是很方便的。
2.动态分配键值:
>>> d={}
>>> d['name']='Allen'
>>> d['age']=21
>>> d['gender']='male'
>>> d
{'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。
字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:
>>> d[1]='abcd'
>>> d
{1: 'abcd', 'age': 21, 'name': 'Allen', 'gender': 'male'}
>>> d[2]
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>d[2]
KeyError: 212345678
3.字典键值表
>>> c = dict(name='Allen', age=14, gender='male')
>>> c
{'gender': 'male', 'name': 'Allen', 'age': 14}
因为这种形式语法简单,不易出错,所以非常流行。
这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:
>>> c = dict(name='Allen', age=14, gender='male', 1='abcd')
SyntaxError: keyword can't be an expression
4.字典键值元组表
>>> e=dict([('name','Allen'),('age',21),('gender','male')])
>>> e
{'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。
5.所有键的值都相同或者赋予初始值:
>>> f=dict.fromkeys(['height','weight'],'normal')
>>> f
{'weight': 'normal', 'height': 'normal'}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)