phonebook={"Prodip":7333333333,"Bornali":7555555550,"Antariksa":7999999935,"Ahalya":9000000003} def findname(name): if name.has_key(): del phonebook[name] else: print("Name not found") print("Phonebook information") print("Name ","Phone number:") for i in phonebook: print(i," ",phonebook[i]) #print(phonebook.keys()) findname(Bornali)
在这里,电话簿是一本字典。
运行时显示错误如下:
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[22], line 12 10 print(i," ",phonebook[i]) 11 #print(phonebook.keys()) ---> 12 findname(Bornali) NameError: name 'Bornali' is not defined
起初我认为变量电话簿的范围可能存在一些问题,我尝试以这种方式将“电话簿”放入函数中:
def findname(name): phonebook={"Prodip":7333333333,"Bornali":7555555550,"Antariksa":7999999935,"Ahalya":9000000003} if name.has_key(): del phonebook[name] else: print("Name not found") print("Phonebook information") print("Name ","Phone number:") for i in phonebook: print(i," ",phonebook[i]) #print(phonebook.keys()) findname(Bornali)
仍然显示相同的错误...函数调用期间传递给函数的参数名称未定义。
我也尝试放置 findname("Bornali") 和 findname('Bornali'),但仍然没有效果。
任何人都知道发生了什么。我是不是错过了什么?
您需要将函数的参数作为
string
传递。在这种情况下,您应该致电findname("Bornali")
。