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

Формат входных данных
На вход программе подается последовательность чисел, каждое число на отдельной строке.

Формат выходных данных
Программа должна вывести количество пятерок.

Lasnochas Lasnochas    2   06.06.2020 16:48    356

Ответы
Bomberidze Bomberidze  15.10.2020 13:18

--- 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()

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
dmoro dmoro  19.01.2024 15:58
Хорошо, рассмотрим задачу по шагам:

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
```

В обоих примерах программа правильно подсчитывает количество пятерок в последовательности чисел.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика