it Завдання Завдання на Python: "Розділення рядка"
Завдання на Python: "Розділення рядка"

Завдання на Python: "Розділення рядка"

8 385
12 серпня 2024 в 17:16

Пропонуємо поринути у вирішення невеликого завдання з мови Python. Завдання нескладне та призначене щоб допомогти розвинути навички роботи з текстом та покращити логічне мислення.

У вас є рядок, що складається з слів, розділених пробілами. Завдання полягає в тому, щоб розділити цей рядок на слова і визначити, скільки слів містять хоча б одну велику літеру.


Умови:

  1. Вхідний рядок містить тільки літери латинського алфавіту (як великі, так і малі) і пробіли.
  2. Пробіли можуть бути тільки між словами, на початку і в кінці рядка пробілів немає.
  3. Якщо в рядку немає слів з великими літерами, повернути 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:
	# Ваш код тут


Рішення завдання

Рішення цієї задачі можна описати наступним чином:

  1. Спочатку необхідно розділити вхідний рядок на окремі слова. Для цього можна використовувати метод split(), який за замовчуванням розділяє рядок по пробілах і повертає список слів.
  2. Створіть змінну-лічильник, яка буде відслідковувати кількість слів, що містять хоча б одну велику літеру.
  3. Для кожного слова перевірте, чи є в ньому хоча б одна велика літера. Це можна зробити, перевіряючи, чи відповідає хоча б один символ у слові умові isupper(), що означає "велика літера".
  4. Пройдіться по кожному слову зі списку, використовуючи цикл.
  5. Якщо в слові знайдена велика літера, збільшіть лічильник на 1.
  6. Після завершення циклу поверніть значення лічильника — це і буде кількість слів з великими літерами.


Приклад рішення з кодом:

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

Більше цікавих новин

Коментарі
Додати коментар

Поки що коментарів немає