我在Dcoder上解决难题,我决定硬编码解决方案,但它仍然没有通过所有测试
我将代码扩展到现在的样子(我粘贴的代码),以包含我能想到的所有案例。我发现了一个应该通过的具体案例,但由于某种原因,这种情况没有发生
我还尝试在if/elif块中添加括号,但这并没有改变任何事情(我没想到会这样,但我还是尝试了)
def damn(a, b, c, d, n, m):
if a+c <= n:
if b <= m and d <= m:
return True
elif a+d <= n:
if b <= m and c <= m:
return True
elif a+c <= m:
if b <= n and d <= n:
return True
elif a+d <= m:
if b <= n and c <= n:
return True
elif b+c <= n:
if a <= m and d <= m:
return True
elif b+d <= n:
if a <= m and c <= m:
return True
elif b+c <= m:
if a <= n and d <= n:
return True
elif b+d <= m:
if a <= n and c <= n:
return True
else:
return False
if damn(2, 2, 1, 4, 4, 3):
print("Yes")
else:
print("No")
elif a+c <= m:
if b <= n and d <= n:
return True
这应该是:
3<;=三,
2<;=4和4<;=四,
所有的输出都是true,这些是在if/elif/else块之前打印它们时出现的值,但由于某种原因,函数“damn”返回false
有人知道为什么会这样吗?你能解释一下吗
您的第一个if语句正在通过:
因此,代码永远不会到达您希望它到达的elif分支:
您可能希望组合if语句,而不是嵌套它们:
相关问题 更多 >
编程相关推荐