@n1ksON
мидл

Почему не работает цикл?

У меня есть задание:
Сколько существует целых значений A, при которых формула тождественно истинна (то есть принимает значение 1 при любых целых неотрицательных значениях x и y)?

Вот мой код:
count = 0
for a in range(-10000, 10000):
	for x in range(10000):
		for y in range(10000):
			if ((((y*y < a) <= (y <= 8)) and ((x <= 5) <= (x*x <= a))) == 0):
				break
		else:
			continue
		break
	else:
		count += 1
print(count)

Суть кода: мы проверяем обратное условие. Если оно верно, то мы выходим из циклов x и y. А если обратное условие неверно, то есть исходное условие верно, то мы должны совершить итерацию count.

В чём я допустил ошибку? Цикл не работает

Фотография задачи
615c6152a5cd2257337326.png
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dmshar
А что вы хотели сказать фразой (y*y < a) <= (y <= 8) ?? Тут слева проверяется менше-ли квадрат y значения а , и значение в скобках принимает ЛОГИЧЕСКОЕ значение True или False. Аналогично проверяется левая скобка. В результате получается загадочное выражение типа True<=False. Что-бы это означало?
А со второй скобкой - еще интереснее. Результат аналогичного выражения - по итогу ЛОГИЧЕСКОЕ значение - сравнивается с 0, по сути со значением False. Это для чего?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы