Вопрос задан 01.07.2023 в 10:39. Предмет Информатика. Спрашивает Лобанова Катя.

Объясните мне, почему этот код на питоне работает, а этот нет, они же абсолютно одинаковые, просто

разные числа? k = 0max = 0for i in range (4855, 7856 + 1): if i % 8 == 0: if i % 7 != 0: if i % 16 != 0: if i % 24 != 0: if i % 26 != 0: k += 1 if i > max: max = iprint (k, max)Работает, ответ 98, 7832k = 0max = 0for i in range (8812, 12285 + 1): if i % 8 == 0: if i % 19 == 0: if i % 4 != 0: if i % 9 != 0: if i % 14 != 0: if i % 16 != 0: k += 1 if i > max: max = iprint (k, max)Ни в какую не работает, ответ 0, 0
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Хакимов Дмитрий.

У Вас присутствуют в коде противоречащие условные операторы

Если число делится на 8, то и остаток от деления на 4 будет равен всегда нулю

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Коды, которые вы предоставили, имеют различия в условиях проверки итераций цикла for. Давайте разберем каждый из них по отдельности:

Первый код:

python
k = 0 max = 0 for i in range(4855, 7856 + 1): if i % 8 == 0: if i % 7 != 0: if i % 16 != 0: if i % 24 != 0: if i % 26 != 0: k += 1 if i > max: max = i print(k, max)

В этом коде вы проверяете числа в диапазоне от 4855 до 7856 включительно. Если число делится на 8 и не делится на 7, 16, 24 и 26, то увеличиваете переменную k на 1 и обновляете значение переменной max, если текущее число больше предыдущего значения max. По окончанию цикла выводится значение k и max.

Второй код:

python
k = 0 max = 0 for i in range(8812, 12285 + 1): if i % 8 == 0: if i % 19 == 0: if i % 4 != 0: if i % 9 != 0: if i % 14 != 0: if i % 16 != 0: k += 1 if i > max: max = i print(k, max)

В этом коде вы проверяете числа в диапазоне от 8812 до 12285 включительно. Число должно делиться на 8, 19 и не делиться на 4, 9, 14 и 16, чтобы увеличить k и обновить max.

Таким образом, эти два кода не являются абсолютно одинаковыми, как вы утверждаете. Условия проверки чисел в цикле for различаются. Второй код имеет более строгие условия, и вероятно, в заданном диапазоне чисел нет чисел, которые соответствуют всем условиям. Поэтому выводится результат 0, 0.

Если вы можете уточнить ожидаемый результат или задачу, которую вы хотите решить, я могу помочь вам более подробно.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос