Шешімі: Победитель математической викторины
Напишите программу для решения следующей задачи.
Девятиклассники участвовали в викторине по математике. Необходимо было ответить на 20 вопросов. Победителем викторины считается участник, правильно ответивший на наибольшее количество вопросов. На сколько вопросов победитель ответил правильно? Если есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, выведите YES, иначе выведите NO. Гарантируется, что есть участники, правильно ответившие хотя бы на один из вопросов.
Программа получает на вход число участников викторины N (1 ≤ N ≤ 50), затем для каждого участника вводится количество вопросов, на которые получен правильный ответ.
Шешім по шагам
4 қадамСчитываем количество участников. Так как гарантируется наличие хотя бы одного положительного результата, максимум можно начать со значения 0.
$$n = int(input())$$Для каждого участника считываем количество правильных ответов, обновляем максимум и запоминаем, встречался ли результат 0.
$$maximum = max(maximum, score)$$После обработки всех участников выводим максимальное количество правильных ответов и соответствующее сообщение.
$$print(maximum); print('YES' if has_zero else 'NO')$$Один из возможных нұсқа программы:
$$n = int(input()) maximum = 0 has_zero = False for _ in range(n): score = int(input()) maximum = max(maximum, score) if score == 0: has_zero = True print(maximum) print('YES' if has_zero else 'NO')$$Программа должна вывести максимальное количество правильных ответов, затем YES, если среди результатов есть 0, и NO в противном случае.
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Выводят количество қатысушылар вместо максимального результата.
Проверяют на ноль только результат победителя, а не результаты всех қатысушылар.
Забывают обработать все N результатов.
Выводят YES и NO в обратном порядке или в одной строке вместо двух.