我试图确定一个参数是否是字典,如果它的长度是4,如果它有任何键的名称不在这个元组中:('posicao','vida','forca','exercito')
如果该元组中有任何名为而不是的键,则函数应返回False
。但是它一直持续到return verifica_pos(arg)
,我不明白为什么会这样:
def eh_unidade(arg):
nom_chaves = ('posicao','vida','forca','exercito')
if isinstance(arg, dict) and len(arg) == 4:
for key in arg:
if key in nom_chaves:
return verifica_pos(arg)
else:
return False
else:
return False
我们可以使用集合来清理程序的(损坏的)逻辑:
或者,我们可以使用
all
和map
组合:或者我们可以重新排列原始代码并添加几个否定:
相关问题 更多 >
编程相关推荐