我正在尝试编写一个使用字典的程序,以创建可跟踪电话号码的个人电话簿,让您通过键入联系人姓名来访问它们。该词典的密钥是您要检索其电话号码的人的名字。该值为电话号码。 (键和值是字符串)
我想提示用户从以下菜单选项中进行选择:
添加新联系人
查询联系人
退出
选项1和2应该在函数中实现-意味着,如果用户选择1,则程序执行应该转到执行加法运算的函数。
选项1应该允许用户输入所需的任意数量的联系人。然后,它在键的空字符串值上结束循环。添加名称后,该功能将打印电话簿。
选项2提示用户输入名称并显示相应的值。如果找不到密钥,该功能应重新提示用户。
我绝对很困,到目前为止,这是我的代码:
pb = {"Isaiah":"6504213951", "Will":"7632991650", "Jack":"4319091874",
"Tim":"2657554886", "Eric":"7837947361", "Joe":"7985579489",
"Alex":"4616231562", "Steve":"8309117856"}
w = input("would you like to add a contact?")
#h = input("would you like to look up a contact?")
#name = input("state the name")
if w == "yes":
add(w)
if w == "no":
query(h)
def add(w):
for key in pb:
key = input("enter the key: ")
value = input("enter the value: ")
pb[key] = value
print(pb)
必须有一种更有效的方法。我正在尝试使用if
语句来调用其中具有字典添加代码的函数;但我不知道如何让用户提示访问该代码。
答案 0 :(得分:0)
我想提示用户从以下菜单选项中进行选择
因此,使提示实际执行此操作-显示菜单,然后在输入中查找1
,2
或3
,而不是yes
或{{ 1}}。
选项1应该允许用户输入所需的任意数量的联系人。然后,它在键的空字符串值上结束循环。添加名称后,该功能将打印电话簿。
因此,no
在这里没有意义-它将循环的次数与电话簿中现有条目的次数一样多,而不是寻找空字符串值。
(将输入for key in pb:
传递给w
函数也没有意义-该函数将忽略它,并且实际上与执行任务无关。)
我正在尝试使用
add
语句来调用其中具有字典附加代码的函数;但我不知道如何让用户提示访问该代码。
我不明白这个问题。提供特定输入后,您的代码将调用if
; add
是在这种情况下可以完成您想要的功能的功能(至少在固定为可以正确循环后才可用)。难道这还没有解决吗?