Программирование на Python Количество пятерок
На вход программе подается последовательность целых чисел от 1 до 5, характеризующее оценку ученика, каждое число на отдельной строке. Концом последовательности является любое отрицательное число, либо число большее 5. Напишите программу, которая выводит количество пятерок.
Формат входных данных
На вход программе подается последовательность чисел, каждое число на отдельной строке.
Формат выходных данных
Программа должна вывести количество пятерок.
--- Python 3.8.3 ---
import typing
from typing import Callable
def ReadSeqWhile(SeqType, predicate: Callable[[int], bool]):
temp = SeqType(input())
while predicate(temp):
yield temp
temp = SeqType(input())
def main():
MarksList = ReadSeqWhile(int, lambda m: (m <= 5) and (m > 0) )
fives = filter(lambda m: m == 5, MarksList)
print(len(list(fives)))
if __name__ == "__main__":
main()
Объяснение:
1. Сначала создадим переменную `count_fives`, которая будет хранить количество пятерок. Изначально установим ее значение равным 0.
2. Затем, мы будем считывать числа с помощью цикла `while`. В каждой итерации цикла будем считывать число, пока оно положительно и меньше или равно 5. Для этого, внутри цикла создадим переменную `grade`, которая будет хранить считанное число. И поместим считывание числа в эту переменную.
3. После считывания числа, мы должны проверить, равно ли оно 5. Если равно, то увеличиваем значение переменной `count_fives` на 1.
4. После проверки числа, мы должны проверить, является ли оно отрицательным или больше 5. Если это так, то прерываем цикл с помощью оператора `break`.
5. После завершения цикла, выведем значение переменной `count_fives`.
Вот готовый код на языке Python, решающий данную задачу:
```python
count_fives = 0
while True:
grade = int(input())
if grade == 5:
count_fives += 1
if grade < 0 or grade > 5:
break
print(count_fives)
```
Теперь рассмотрим пример работы программы:
Пример 1:
```
Входные данные:
3
4
5
2
-1
Выходные данные:
1
```
Пример 2:
```
Входные данные:
5
5
5
5
-3
Выходные данные:
4
```
В обоих примерах программа правильно подсчитывает количество пятерок в последовательности чисел.