Python音素

2024-04-19 04:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我找过类似的任务,但没有找到全面的。我接到了一个任务,要制作一个具有以下要求的电话簿。在

  1. -add名称编号-添加名称和数字

    查找名称

    -aliasname newname–将“昵称”添加到已存在的名称中

    -change名称编号–将编号更改为现有的所有名称

    -save filename–将电话簿保存到文件中

    -load filename–读取文件并丢弃内存中的电话簿(wat?)在此之后,只有文件中的电话簿应该 存在。

这是我目前为止的代码:

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"

因此,我需要关于如何实现aliaschange命令的帮助。我想我可以自己解决问题,但对那些问题的任何帮助也会得到认可。在

谢谢


Tags: 文件runname名称addnumberinputraw
1条回答
网友
1楼 · 发布于 2024-04-19 04:20:59

您可以将电话簿重新格式化为嵌套字典

phonebook = {
  "Steven": {"Alias": "Steve", "Number": "123-456-7890"}, 
  "Michael": {"Alias": "Mike", "Number": "987-654-3210"}
}

然后你可以像

^{pr2}$

那么你的最后两个功能可能是

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"

相关问题 更多 >