我的程序无法进入我的最后一个 if/else 语句。我的代码:
def main_prog():
while True:
data_dict = {'123': 'viksun', '111': ['tord'], '333': ['test']} # Data storage.
print (data_dict) # Track-print
prompt = input('Enter command >>> ').split(" ")
if prompt[0] == 'lookup':
B_value = name_lookup_return_boolean(data_dict, prompt[1])
if B_value == True:
print (prompt[1],"'s number is:", name_lookup(data_dict, prompt[1]))
else:
print("The name:" ,prompt[1], "do not exist, please try a different name")
字典的数据结构:data_dict
data_dict = {'123': ['name1'], '111': ['tord'], '333': ['test']} # Data storage.
函数说明: -name_lookup_returns_boolean(data_dict, name)
返回一个布尔值:如果名称位于字典中,则返回 True,如果名称不存在,则返回 False。-name_lookup
返回与特定名称对应的键。
这些功能已与整个程序分开测试,因此它们可以正常工作。如果你需要它们,我也可以发布它们。
我无法让程序运行程序中的最后一条else
语句。如果字典中不存在该名称,这将运行:data_dict
。
下面是这两个函数的实现:
def name_lookup(data_dict, name):
for key, value in data_dict.items():
if name in value:
return key
def name_lookup_return_boolean(data_dict, name):
for value in data_dict.items():
if name in value:
return True
else:
return False
这是我尝试使用的变体_但没有成功:
def name_lookup_version_02(data_dict, name):
for value in data_dict.values():
if name in value:
return True
else:
return False