我的程序是无法进入最后我的if/else语句的。 我的代码:字典的语言:Python(vers3.3);如果在里面语句和if语句
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)
返回boolean值不存在。 - 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
这是我曾尝试没有sucess到use_but变化:
def name_lookup_version_02(data_dict, name):
for value in data_dict.values():
if name in value:
return True
else:
return False
如果这是蟒蛇,我猜从语法上讲,您可能想要在data_dict.keys():'中使用'if [1]'。你不需要定义一个单独的函数。另一方面,如果这是伪代码,那么帮助很难,因为错误通常是代码中的小错误的结果。 – Dolphiniac 2013-05-06 14:55:12
您可以添加用作标签的语言吗? – 2013-05-06 14:55:14
如何实现'name_lookup_return_boolean'? – 2013-05-06 14:59:16