Заданы M строк, которые вводятся с клавиатуры. Подсчитать количество пробелов в каждой из...

+553 голосов
6.5m просмотров

Заданы M строк, которые вводятся с клавиатуры. Подсчитать количество пробелов в каждой из строк и количество заглавных букв. Вывести строки и найденные значения рядом со строками. Питон


Информатика | 6.5m просмотров
Дан 1 ответ
+66 голосов

Ответ:

--- Python 3.8.3 ---

import typing

from typing import Callable

from typing import AnyStr

from typing import Any

import re

import string

def StringCount(RawString: AnyStr, Selector: Callable[[AnyStr], bool], splitter: AnyStr = None) -> int:

   '''Подсчитывает кол-во вхождений элемента, удовлетворяющего условию, в строку или подстроку при заданном splitter'''

   counter = 0

   if splitter:

       ToAnalyse = RawString.split(splitter)

   else:  

       ToAnalyse = list(RawString)

   for item in ToAnalyse:

       if Selector(item): counter += 1  

   return counter

def main():

   Strings = [input() for i in range(int(input()))]

   for s in Strings:

       Uppercase = StringCount(s, lambda p: lambda p: p.isupper())

       Spaces = s.count(' ')

       print(f'String: {s}\nSpaces: {Spaces}\nUppercase: {Uppercase}')

if __name__ == "__main__":

   main()

<\Code>

На скриншотах приложены тесты программы.

(1.6k баллов)