Вопрос:

Ученики 8 «Б» написали контрольную работу. Всем, кто получил двойку, придётся её переписать. Есть список оценок, заканчивающийся нулём. Выведи, сколько учеников переписывали контрольную.

Ответ:

По условию задачи, ученики, получившие двойку, должны переписывать контрольную работу. Дан список оценок, заканчивающийся нулём. Необходимо определить, сколько учеников получили двойку.

Приведенный код на Python считывает ввод построчно до тех пор, пока длина введенной строки не станет равной 1. Затем он выводит длину каждой введенной строки до этого момента.

В данном случае, код не решает задачу подсчета двоек. Он лишь выводит длину каждой введенной строки, пока не встретит строку длиной 1.

Для решения задачи необходимо подсчитать количество введенных чисел "2" до ввода числа "0". Поскольку код, приведенный на изображении, не решает поставленную задачу, а вызывает ошибку, привожу исправленный код ниже:


count = 0
while True:
    mark = int(input())
    if mark == 0:
        break
    if mark == 2:
        count += 1
print(count)

Этот код считывает оценки до тех пор, пока не встретится 0. Если оценка равна 2, увеличивается счетчик. В конце выводится значение счетчика.

Для примера с вводом:


2
2
0

Код выведет 2, так как было введено две двойки до нуля.

В случае с тестом, который выдает ошибку:


5
4
2
4
3
2
2
0

В соответствии с заданием, правильный вывод должен быть равен количеству двоек, то есть 3.

Смотреть решения всех заданий с листа
Подать жалобу Правообладателю

Похожие