Задача на Python: "Разделение строки"
Предлагаем погрузиться в решение небольшой задачи по языку Python. Задание несложное и предназначено чтобы помочь развить навыки работы с текстом и улучшить логическое мышление.
У вас есть строка, состоящая из слов, разделённых пробелами. Задача состоит в том, чтобы разделить эту строку на слова и определить, сколько слов содержат хотя бы одну заглавную букву.
Условия:
- Входная строка содержит только буквы латинского алфавита (как заглавные, так и строчные) и пробелы.
- Пробелы могут быть только между словами, в начале и конце строки пробелов нет.
- Если в строке нет слов с заглавными буквами, вернуть 0.
Пример:
# Входная строка
s = "Hello world this Is a Test"
# Ожидаемый результат
3Объяснение:
- В строке "Hello world this Is a Test" слова "Hello", "Is" и "Test" содержат заглавные буквы, следовательно, результат будет 3.
Дополнительное задание (по желанию):
Реализуйте функцию, которая принимает строку и возвращает количество слов, содержащих хотя бы одну заглавную букву.
def count_uppercase_words(s: str) -> int:
# Ваш код здесьРешение задания
Решение этой задачи можно описать следующим образом:
- Сначала необходимо разделить входную строку на отдельные слова. Для этого можно использовать метод
split(), который по умолчанию разделяет строку по пробелам и возвращает список слов. - Создайте переменную-счётчик, которая будет отслеживать количество слов, содержащих хотя бы одну заглавную букву.
- Для каждого слова проверьте, есть ли в нём хотя бы одна заглавная буква. Это можно сделать, проверяя, соответствует ли хотя бы один символ в слове условию
isupper(), что означает "заглавная буква". - Пройдитесь по каждому слову из списка, используя цикл.
- Если в слове найдена заглавная буква, увеличьте счётчик на 1.
- После завершения цикла верните значение счётчика — это и будет количество слов с заглавными буквами.
Пример решения с кодом:
def count_uppercase_words(s: str) -> int:
# Разделяем строку на слова
words = s.split()
# Инициализируем счётчик
count = 0
# Проверяем каждое слово на наличие заглавной буквы
for word in words:
if any(char.isupper() for char in word):
count += 1
# Возвращаем результат
return countБольше интересных новостей
Задача с вычислением целых чисел
Удастся ли вам получить наследство?
Какое суммарное время перелета?
Задача с аналоговыми часами