Python-交互式电话簿
我需要帮助,用Python-交互式电话簿,python,split,interactive,Python,Split,Interactive,我需要帮助,用raw\u input将姓名和电话号码添加到一行字典中。它应该是这样的:addjohn123(用数字123添加名称John)。这是我的密码: def phonebook(): pb={} while True: val,q,w=raw_input().split(" ") if val=='add': if q in pb: print print
raw\u input
将姓名和电话号码添加到一行字典中。它应该是这样的:addjohn123
(用数字123添加名称John)。这是我的密码:
def phonebook():
pb={}
while True:
val,q,w=raw_input().split(" ")
if val=='add':
if q in pb:
print
print "This name already exists"
print
else:
pb[q]=w #lägger till namn + nummer i dictionary
if val=='lookup':
if q in pb:
print
print pb[q]
print
else:
print "Name is not in phonebook"
print
我得到解包错误。有什么建议吗?还有其他方法吗?下一行假设您键入了3个单词,每个单词之间用空格分隔:
val, q, w = raw_input().split(" ")
如果少于或多于3个单词(在使用lookup命令时是这样的,不是吗?),则会出现解包错误
您可以在唯一变量中获取输入,然后测试其第一个元素以避免错误:
in_ = raw_input().split(" ")
if in_[0] == 'add':
# process add action
if in_[0] == 'lookup':
# process lookup action
额外提示:您不需要将空格字符指定给
split
方法,因为它是默认值:
raw_input().split() # will work as well
下一行假设您正好键入3个单词,每个单词之间用空格分隔:
val, q, w = raw_input().split(" ")
如果少于或多于3个单词(在使用lookup命令时是这样的,不是吗?),则会出现解包错误
您可以在唯一变量中获取输入,然后测试其第一个元素以避免错误:
in_ = raw_input().split(" ")
if in_[0] == 'add':
# process add action
if in_[0] == 'lookup':
# process lookup action
额外提示:您不需要将空格字符指定给
split
方法,因为它是默认值:
raw_input().split() # will work as well
我认为当你用“lookup john”查找某人时会出现解包错误。代码在拆分(“”)中查找第三个值,但没有找到 我不确定这是否有帮助:
def phonebook():
pb={}
while True:
vals = raw_input().split(" ")
if vals[0] == 'add':
q = vals[1]
w = vals[2]
if q in pb:
print "This name already exists"
else:
pb[q]=w #lägger till namn + nummer i dictionary
elif vals[0]=='lookup':
q = vals[1]
if q in pb:
print
print str(q) + "'s number is: " + str(pb[q])
print
else:
print "Name is not in phonebook"
print
给我寄来:
>add j 12
>add j 12
This name already exists
>lookup j
j's number is: 12
>lookup j 12
j's number is: 12
>lookup k
Name is not in phonebook
我认为当你用“lookup john”查找某人时会出现解包错误。代码在拆分(“”)中查找第三个值,但没有找到 我不确定这是否有帮助:
def phonebook():
pb={}
while True:
vals = raw_input().split(" ")
if vals[0] == 'add':
q = vals[1]
w = vals[2]
if q in pb:
print "This name already exists"
else:
pb[q]=w #lägger till namn + nummer i dictionary
elif vals[0]=='lookup':
q = vals[1]
if q in pb:
print
print str(q) + "'s number is: " + str(pb[q])
print
else:
print "Name is not in phonebook"
print
给我寄来:
>add j 12
>add j 12
This name already exists
>lookup j
j's number is: 12
>lookup j 12
j's number is: 12
>lookup k
Name is not in phonebook
谢谢,非常有帮助!谢谢,非常有帮助!