Вопрос задан 29.09.2023 в 21:05. Предмет Информатика. Спрашивает Сорокин Иван.

Ревью кода - 9 На обработку поступает последовательность из 4 целых чисел. Известно, что вводимые

числа по абсолютной величине не превышают 10^610 6 . Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «NO». Программист торопился и написал программу неправильно. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Примечание. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. n = 4 count = 0 maximum = 999 for i in range(1, n + 1): x = int(input()) if x % 2 != 0: count += 1 if x > maximum: maximum = i break if count > 0: print(count) print(maximum) else: print('NO')
0 0
Перейти к ответам

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

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

Ответ:

n = 4

count = 0

maximum = -999999

for i in range(1, n + 1):

....x = int(input())

....if x % 2 != 0:

........count += 1

........if x > maximum:

............maximum = x

if count > 0:

....print(count)

....print(maximum)

else:

....print('NO')

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

Программа имеет несколько ошибок. Давайте их поочередно исправим:

  1. Ошибка в инициализации переменной maximum. Вместо 999, нам нужно использовать начальное значение, которое гарантированно превышает любое возможное входное значение. Давайте установим maximum в минус бесконечность (negative infinity).

  2. Ошибка в строке сравнения if x > maximum: maximum = i break. В этой строке, мы должны обновлять maximum значением x, а не i. Также, не нужно использовать break, так как это завершит цикл раньше времени. Используем maximum = x.

  3. Ошибка в строке print(maximum). Здесь мы должны выводить значение maximum, а не i.

Вот исправленный код:

python
n = 4 count = 0 maximum = float('-inf') # Используем минус бесконечность как начальное значение maximum for i in range(1, n + 1): x = int(input()) if x % 2 != 0: count += 1 if x > maximum: maximum = x if count > 0: print(count) print(maximum) else: print('NO')

Теперь программа должна работать корректно и выводить количество нечётных чисел и максимальное нечётное число из последовательности.

0 0

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

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

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