Шешімі: Оценки за контрольную работу
На контрольной работе по алгебре ученикам 9 класса было предложено 10 примеров. Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько неудовлетворительных оценок было получено учениками? Если хотя бы один из учеников правильно решил все задачи, выведите YES, иначе выведите NO.
Программа получает на вход количество учеников в классе $N$ ($1 \leq N \leq 30$), затем для каждого ученика вводится количество правильно решённых примеров.
Входные данные:
$4$
$3$
$9$
$2$
$8$
Выходные данные:
$2$
YES
NO
Шешім по шагам
3 қадамСчитываем количество учеников и создаём счётчик неудовлетворительных оценок. Также создаём логический признак того, что кто-то решил все 10 примеров.
$$bad = 0,\quad has\_all = False$$Для каждого ученика считываем количество правильно решённых примеров. Если это число меньше 5, увеличиваем счётчик неудовлетворительных оценок. Если число равно 10, отмечаем наличие полностью решившего ученика.
$$x < 5 \Rightarrow bad = bad + 1;\quad x = 10 \Rightarrow has\_all = True$$Выводим количество неудовлетворительных оценок, затем выводим YES при наличии полностью решившего ученика и NO в противном случае.
Пример шешімдер на Python:
n = int(input())
bad = 0
has_all = False
for _ in range(n):
solved = int(input())
if solved < 5:
bad += 1
if solved == 10:
has_all = True
print(bad)
print('YES' if has_all else 'NO')
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Считать неудовлетворительной оценкой результат, равный 5, хотя неудовлетворительная оценка выставляется только при результате менее 5.
Проверять наличие ученика, решившего все тапсырма, условием solved > 5 вместо solved == 10.
Выводить YES или NO в той же строке, что и количество неудовлетворительных оценок.