Програма Python за преброяване на броя на всяка гласна

В тази програма ще се научите да броите броя на всяка гласна в низ, като използвате разбиране на речника и списъка.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Python:

  • Python за Loop
  • Струнове на Python
  • Струнни методи

Изходен код: Използване на речник

 # Program to count the number of each vowels # string of vowels vowels = 'aeiou' ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # make a dictionary with each vowel a key and value 0 count = ().fromkeys(vowels,0) # count the vowels for char in ip_str: if char in count: count(char) += 1 print(count) 

Изход

 („o“: 5, „i“: 3, „a“: 2, „e“: 5, „u“: 3) 

Тук взехме низ, съхраняван в ip_str. Използвайки метода casefold(), ние го правим подходящ за сравнения без случаи. По принцип този метод връща малка буква на низа.

Използваме метода на речника, за fromkeys()да конструираме нов речник с всяка гласна като негов ключ и всички стойности, равни на 0. Това е инициализацията на броя.

След това итерираме над входния низ, използвайки цикъл for.

Във всяка итерация проверяваме дали символът е в речниковите ключове ( Trueако е гласна) и увеличаваме стойността с 1, ако е вярно.

Изходен код: Използване на списък и разбиране на речника

 # Using dictionary and list comprehension ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # count the vowels count = (x:sum((1 for char in ip_str if char == x)) for x in 'aeiou') print(count) 

На изхода на тази програма е същата, както по-горе.

Тук сме вложили разбиране на списък в разбиране на речника, за да преброим гласните в един ред.

Разбирането на речника се изпълнява за всички гласни символи и разбирането на списъка в рамките на разбирането на речника проверява дали някакви символи в низа съвпадат с тази гласна.

В края се генерира списък с 1 s за броя на всеки гласен знак. В sum()метода се използва за изчисляване на сумата от елементите за всеки списък.

Тази програма обаче е по-бавна, тъй като итерираме целия входен низ за всяка гласна.

Интересни статии...