我已经搜索了类似的任务,但没有找到全面的内容。我的任务是制作具有以下要求的电话簿。
-添加姓名号码-添加姓名和号码
-lookup名称-打印名称的编号
-alias name newname –在现有名称中添加“昵称”
-更改名称编号-将编号更改为现有的名称
-save filename –将电话簿保存到文件中
-load filename –读取文件,然后将电话簿扔到内存中(浪费了?)之后,只有文件中的电话簿才应
存在。
到目前为止,这是我的代码:
prompt = ('command (add/lookup/alias/change/save/load/quit/)')
phonebook = {}
run = True
while run:
command = raw_input(prompt)
if command == 'quit':
run = False
elif command == 'add':
name = raw_input('name?')
number = raw_input ('number?')
phonebook[name]=number
elif command == ('lookup'):
name=raw_input ("Name?:")
if name in phonebook:
print name, phonebook[name]
else:
print "Does not exist"
因此,我需要有关如何实现别名和更改突击队的帮助。我认为我可以弄清楚自己的保存和加载,但是对这些的任何帮助也将适用。
谢谢
最佳答案
您可以将电话簿重新格式化为嵌套词典
phonebook = {
"Steven": {"Alias": "Steve", "Number": "123-456-7890"},
"Michael": {"Alias": "Mike", "Number": "987-654-3210"}
}
然后你可以看起来像
>>> phonebook['Steven']['Number']
'123-456-7890'
然后您的最后两个功能可能是
elif command == ('alias'):
name = raw_input ("Name?:")
nickname = raw_input ("Alias?:")
if name in phonebook:
phonebook[name]['Alias'] = nickname
else:
print "Does not exist"
elif command == ('change number'):
name = raw_input ("Name?:")
number = raw_input ("Number?:")
if name in phonebook:
phonebook[name]['Number'] = number
else:
print "Does not exist"
编辑
elif command == 'add':
name = raw_input('name?')
number = raw_input ('number?')
phonebook[name] = {'Alias': '', 'Number': number}
elif command == ('lookup'):
name = raw_input ("Name?:")
if name in phonebook:
print name, phonebook[name]
else:
print "Does not exist"
关于python - Python电话簿,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28995419/