This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.
Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.

Задача 494 – пошук даних

Друк

Голосні

https://www.e-olymp.com/uk/problems/494

 

До голосних літер в латинському алфавіті відносяться літери AEIOU і Y. Інші літери вважаються приголосними. Напишіть програму, яка підраховує кількість голосних літер в тексті.

Вхідні дані

У вхідному файлі міститься один рядок тексту, який складається лише із заглавних латинських літер та проміжків. Довжина рядка не перевищує 100 символів.

Вихідні дані

У вихідний файл вивести одне ціле число – кількість голосних у вхідному тексті.

 

Вхідні дані

COBRA

Вихідні дані

2

 


 

Для розв’язання даної задачі можна скористатися функцією in

Загальна ідея така: Пробіл в тексті також вважаємо буквою (власне, так воно і є). Перебираємо по черзі всі букви тексту. Якщо вибрана буква є серед голосних, то загинаємо палець. Після перевірки всіх букв тексту виводимо кількість загнутих пальців.

В даному випадку доцільно текст і голосні ввести в текстові змінні:

golosni = 'AEIOUY'

 

Перебір букв тексту проводимо за допомогою циклу, функція in повертає True у випадку, коли буква тексту знайдена серед голосних:

 

for x in txt:

    if x in golosni:

     kilkist += 1  

 

Зверніть увагу на конструкцію kilkist+=1 Це і є загинання пальців. Тобто після виконання даної операції значення змінної kilkist збільшується на одиницю. Але якщо до виконання цієї операції змінна kilkist не використовувалась, то ми отримаємо помилку. Тому перед перебиранням букв тексту давайте зробимо так:

 

kilkist = 0

 

Так ми і заявимо, що у нас є така змінна (ініціалізуємо її) і встановимо цій змінній початкове значення.

 

ps. А чи багато, на вашу думку, треба змінити в програмі, щоб вона рахувала не кількість голосних, а кількість пробілів? І чи можна в такому випадку обійтися без функції in ? А яка, на вашу думку, програма буде працювати швидше на одному і тому тексті - та, що рахує кількість голосних чи та, що рахує кількість пробілів?