Я решаю головоломки на 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 <= 3 </p>
2 <= 4 и 4 <= 4 </p>
вывод всех равен true, это те значения, которые появляются, когда я их печатаю раньше, если блок / elif / else, но по какой-то причине функция "damn" возвращает false.
У кого-нибудь есть идея, почему это происходит, и вы можете это объяснить?