Как найти гласные буквы в строке python

I am trying to make an up language translator. Simple task for me in python. Or so i thought. If you are unaware, up language is when you take a word and say it while adding up before every vowel. for example, Andrew would be Upandrupew. I am trying to find out how find all of the vowels in a user submitted word, and put up before them. Is there a way to cut up a word before all vowels. so excellent would be exc ell ent? thanks.

asked Jun 6, 2013 at 20:17

user2461234's user avatar

1

maybe

VOWELS = 'aeiou'
def up_it(word):
    letters = []
    for letter in word:
        if letter.lower() in VOWELS:
            letters.append('Up')
        letters.append(letter)
    return ''.join(letters)

can be simplified to

def up_it(word):
    return ''.join('up'+c if c.lower() in 'aeiou' else c for c in word)

answered Jun 6, 2013 at 20:21

cmd's user avatar

cmdcmd

5,70416 silver badges30 bronze badges

You could do that with a regex:

import re
a = "Hello World."
b = re.sub("(?i)([aeiou])", "up\1", a)

The (?i) makes it case-insensitive. \1 refers to the character that was matched inside ([aeiou]).

answered Jun 6, 2013 at 20:22

Blorgbeard's user avatar

BlorgbeardBlorgbeard

100k48 gold badges226 silver badges271 bronze badges

3

''.join(['up' + v if v.lower() in 'aeiou' else v for v in phrase])

answered Jun 6, 2013 at 20:24

dansalmo's user avatar

dansalmodansalmo

11.4k5 gold badges58 silver badges52 bronze badges

for vowel in [“a“,“e“,“i“,“o“,“u“]:
    Word = Word.replace(vowel,“up“+vowel)
print(Word)

answered Jun 6, 2013 at 20:23

fdvfcges's user avatar

fdvfcgesfdvfcges

4023 silver badges7 bronze badges

import re
sentence = "whatever"
q = re.sub(r"([aieou])", r"up1", sentence, flags=re.I)

answered Jun 6, 2013 at 20:23

J0HN's user avatar

J0HNJ0HN

25.9k5 gold badges53 silver badges85 bronze badges

vowels = ['a', 'e', 'i', 'o', 'u']

def upped_word(word):
    output = ''
    for character in word:
        if character.lower() in vowels:
            output += "up"
        output += character
    return output

answered Jun 6, 2013 at 20:23

jgritty's user avatar

jgrittyjgritty

11.6k3 gold badges38 silver badges60 bronze badges

Here is a one-liner for the entire problem

>>> "".join(('up' + x if x.upper() in 'AEIOU' else x for x in 'andrew'))
'upandrupew'

answered Jun 6, 2013 at 20:30

Juraj Ivančić's user avatar

Here’s one way of doing it.

wordList = list(string.lower())

wordList2 = []

for letter in wordList:
    if letter in 'aeiou':
        upLetter = "up" + letter
        wordList2.append(upLetter)
    else:
        wordList2.append(letter)

"".join(wordList2)

Create a list of letters (wordList), iterate through those letters and append it to a second list, which is joined at the end.

Returns:

10: 'upandrupew'

In one line:

"".join(list("up"+letter if letter in "aeiou" else letter for letter in list(string.lower())))

answered Jun 6, 2013 at 20:31

jumbopap's user avatar

jumbopapjumbopap

3,9395 gold badges26 silver badges47 bronze badges

I’d probably go with RegExp but there are already many answers using it. My second choice is the map function, witch is better then iterate through every letter.

>>> vowels = 'aeiou'
>>> text = 'this is a test'
>>> ''.join(map(lambda x: 'up%s'%x if x in vowels else x, text))
'thupis upis upa tupest'
>>> 

answered Jun 7, 2013 at 17:14

Magnun Leno's user avatar

Magnun LenoMagnun Leno

2,71820 silver badges29 bronze badges

def is_vowel(word):
    ''' Check if `word` is vowel, returns bool. '''
    # Split word in two equals parts
    if len(word) % 2 == 0:
        parts = [word[0:len(word)/2], word[len(word)/2:]]
    else:
        parts = [word[0:len(word)/2], word[(len(word)/2)+1:]]

    # Check if first part and reverse second part are same.
    if parts[0] == parts[1][::-1]:
        return True
    else:
        return False

answered Jul 13, 2017 at 9:41

Arount's user avatar

ArountArount

9,7091 gold badge29 silver badges43 bronze badges

This is a smart solution which helps you to count and find vowels in input string:

name = input("Name:- ")
counter = []
list(name)

for i in name:                 #It will check every alphabet in your string
    if i in ['a','e','i','o','u']:  # Math vowels to your string
        print(i,"  This is a vowel")
        counter.append(i)      # If he finds vowels then he adds that vowel in empty counter
    else:
        print(i)

print("n")
print("Total no of words in your name ")
print(len(name))

print("Total no of vowels in your name ")
print(len(counter))

Eric Aya's user avatar

Eric Aya

69.3k35 gold badges181 silver badges252 bronze badges

answered Nov 28, 2018 at 9:56

Vinay Chaudhari's user avatar

0 / 0 / 0

Регистрация: 31.03.2020

Сообщений: 12

1

Определение гласных букв в слове

01.04.2020, 14:40. Показов 33381. Ответов 6


Студворк — интернет-сервис помощи студентам

Добрый день! Помогите, пожалуйста, с решением следующей задачи:

«Напишите программу, которая принимает на вход слово (word) и последовательно выводит все русские гласные из этого слова.»

word=input()
x=(‘а’,’е’,’и’,’о’,’у’,’ё’,’ю’,’я’)
for i,letter in enumerate(word):
if letter==x:
print(letter)
else:
print()

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



0



Эксперт Python

5407 / 3831 / 1214

Регистрация: 28.10.2013

Сообщений: 9,554

Записей в блоге: 1

01.04.2020, 14:51

2

Цитата
Сообщение от bbbbbla
Посмотреть сообщение

if letter==x

Вы сравниваете букву и кортеж.
Это самонадеянно.
Нужно не сравнивать, а проверять вхождение: letter in x

Добавлено через 2 минуты

Цитата
Сообщение от bbbbbla
Посмотреть сообщение

При таком раскладе он воспринимает все буквы как гласные и выводит пробелы

При вашем раскладе скрипт вообще никакие буквы не воспринимает как гласные.



1



0 / 0 / 0

Регистрация: 31.03.2020

Сообщений: 12

01.04.2020, 15:04

 [ТС]

3

Спасибо большое Garry Galler
word=input()
x=(‘а’,’е’,’и’,’о’,’у’,’ё’,’ю’,’я’)
for i,letter in enumerate(word):
if letter in x:
print(letter)
else:
print()

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



0



Эксперт Python

5407 / 3831 / 1214

Регистрация: 28.10.2013

Сообщений: 9,554

Записей в блоге: 1

01.04.2020, 15:11

4

Цитата
Сообщение от bbbbbla
Посмотреть сообщение

Но выводит каждую букву в отдельной строке, а на место гласных, ставит пробел тоже в отдельной строке.

Потому что вы так ему сказали.

Добавлено через 1 минуту

Цитата
Сообщение от bbbbbla
Посмотреть сообщение

Как преобразовать вывод, чтоб гласные он просто пропускал

Определитсь уже что вам нужно: гласные или согласные.



0



4611 / 3148 / 1112

Регистрация: 21.03.2016

Сообщений: 7,838

01.04.2020, 15:22

5

bbbbbla, ну уберите ту часть условия которая печатает пустую строку. мини справка по print



0



0 / 0 / 0

Регистрация: 31.03.2020

Сообщений: 12

01.04.2020, 15:27

 [ТС]

6

Разобралась!

Не хватало оператора end=»»

word=input()
x=(‘а’,’е’,’и’,’о’,’у’,’ё’,’ю’,’я’)
for i,letter in enumerate(word):
if letter in x:
print(letter,end=»»)



0



unfindable_404

Эксперт Python

690 / 473 / 204

Регистрация: 22.03.2020

Сообщений: 1,052

01.04.2020, 15:32

7

Лучший ответ Сообщение было отмечено bbbbbla как решение

Решение

Зачем вам тут нужен enumerate? enumerate используется, когда нужно учитывать позицию элемента, а вам она тут не нужна.
У функции print нужно переопределить завершение вывода. По умолчанию это перевод на новую строку, но если аргументом end передать пустую строку, то после вывода курсор останется там же.

Python
1
2
3
4
5
6
7
8
9
word = input()
x = ('а', 'е', 'и', 'о', 'у', 'ё', 'ю', 'я')
 
# Итерируемся по буквам в слове
for letter in word:
    # Если буквы нет в списке гласных
    if letter not in x:
        # Выводим эту букву
        print(letter, end='')

Если я правильно понял, то это то, что вам нужно.



0



Описание задачи

Программа принимает на вход строку и подсчитывает в ней количество гласных при помощи множеств.

Решение задачи

  1. Вводим строку и записываем ее в переменную.
  2. Для подсчета букв создаем переменную count и инициируем ее значением 0.
  3. Создаем множество, которое содержит все буквы английского языка, передающие гласные звуки.
  4. Используем цикл for, чтобы перебрать все буквы в строке.
  5. При помощи инструкции if и оператора in мы проверяем, входит ли буква в множество гласных.
  6. Если буква входит в множество гласных, переменная count увеличивается на 1.
  7. После окончания работы цикла значение переменной count выводится на экран.

Исходный код

Ниже дан исходный код, который осуществляет подсчет гласных в строке. Результаты работы программы также даны ниже.

s = raw_input("Введите строку:")
count = 0
vowels = set("aeiou")
for letter in s:
    if letter in vowels:
        count += 1
print("Количество гласных равно:")
print(count)

Объяснение работы программы

  1. Пользователь вводит строку и она записывается в переменную.
  2. Переменной count присваивается значение 0.
  3. При помощи функции set() создается множество всех букв английского алфавита, передающих гласные звуки. Множество записывается в переменную vowels.
  4. При помощи цикла for перебираем все буквы во введенной строке.
  5. При помощи инструкции if и оператора in проверяем, входит ли буква в множество гласных vowels.
  6. Если буква входит в множество гласных, переменная count увеличивается на 1.
  7. Окончательное значение переменной count выводится на экран.
  8. Конец.

Результаты работы программы

Пример 1:
Введите строку:Hello world
Количество гласных равно:
3
 
Пример 2:
Введите строку:Python Program
Количество гласных равно:
3

В этом руководстве мы обсудим, как программа Python может принимать только строку, содержащую все гласные буквы.

В следующем примере мы передаем строку, чтобы проверить, присутствуют ли все гласные. Мы сочли приемлемыми гласные как в верхнем, так и в нижнем регистре. Это «A», «E», «I», «O», «U» или «a», «e», «i», «o», «u».

Пример:

 
Input string1: AEIaeiytstwI 
Output: Not Accepted 
Reason: All vowels except 'o' and 'u' are not present in the Input string1 
Input string2: AbCdEfHiMnOtUv 
Output: Accepted 
Reason: All vowels are present. 

Подход к решению

Сначала мы создадим набор гласных с помощью функции set(). Затем мы проверим, является ли каждый символ строки гласным. Если символ является гласным, мы добавим его в набор «строка_1». Выйдя из цикла, мы проверим длину набора «string_1». Строка будет принята только в том случае, если установленная длина “string_1” равна длине строки “vowel_1”; в противном случае он не примет строку.

Способ 1

 
def check(string): 
  
    string = string.lower() 
  
    # The set() function will be used for converting "aeiou" string into set of 
    #characters 
    vowel_1 = set("aeiou") 
  
    # The set() function will convert the empty dictionary into an empty set 
    string_1 = set({}) 
  
    # The we will loop through each character of the string 
    for character_1 in string: 
  
    # Now, it will check if the character is present inside the "vowel_1" set or 
    #not.  
        # If the characters are present, then it will add into the "string_1" set by 
        #using "add" method 
        if character_1 in vowel_1 : 
            string_1.add(character_1) 
        else: 
            pass 
              
    # Then, it will check if the length of "string_1" set is equal to the length of 
    # "vowel_1" set or not.  
    if len(string_1) == len(vowel_1) : 
        print("The string is Accepted") 
    else : 
        print("The string is Not Accepted") 
  
  
# Driver code 
if __name__ == "__main__" : 
      
    string = str(input("Enter the String of characters: ")) 
  
    # Calling function 
    check(string) 

Выход:

#1 
Enter the String of characters:  aideiofguhs 
The string is Accepted 
#2 
Enter the String of characters:  aideiofghs 
The string is Not Accepted 

Объяснение:

Вышеупомянутая программа проверит вставленные строковые символы, и если символ соответствует символу гласной, она добавит его к набору string_1, а если символ не является гласным, он перейдет к следующему.

Затем мы поставили условие, что если длина строки_1 не равна длине гласной_1, строка не будет принята. Но если длина строки_1 равна длине гласной_1, она примет строку.

Способ 2

 
def check(string): 
    string = string.replace(' ', " ") 
    string = string.lower() 
    vowel_1 = [string.count('a'), string.count('e'), string.count( 
        'i'), string.count('o'), string.count('u')] 
  
    # If 0 is present in vowel count array 
    if vowel_1.count(0) > 0: 
        return('The string is Not Accepted') 
    else: 
        return('The string is Accepted') 
  
  
# Driver code 
if __name__ == "__main__": 
  
    string = str(input("Enter the String of characters: ")) 
  
    print(check(string)) 

Выход:

Enter the String of characters: "aiD" 'OeiUo' fg "FGu" hs 
The string is Accepted 
Enter the String of characters: 'aidE' "I" 'eiIOo' "fgHYK" 'hs' 
The string is Not Accepted 

Объяснение:

В приведенном выше коде мы использовали условие, что если в массиве счетчика гласных присутствует 0, строка не будет принята. Но если 0 отсутствует и строка содержит все гласные, строка будет принята.

 
def check(string): 
    if len(set(string.lower()).intersection("aeiou")) >= 5: 
        return("The string is Accepted") 
    else: 
        return("The string is Not Accepted") 
  
  
# Driver code 
if __name__ == "__main__": 
    string = str(input("Enter the String of characters: ")) 
    print(check(string)) 

Выход:

Enter the String of characters: gIrwi aTheDy uKmtR wmsof 
The string is Accepted 
 
Enter the String of characters:  aidc Eie iIOof gH YKhs 
The string is Not Accepted 

Объяснение:

В приведенном выше коде мы использовали условие, что длина строки больше или равна длине гласной_1, то есть 5, и содержит все гласные. Затем он примет строку; в противном случае он не примет строку.

Заключение

В этом руководстве мы показали, как написать программу Python для приема строки, содержащей все гласные символы. Пользователи также могут использовать один и тот же код для разных типов условий для определенных символов. Мы объяснили разные методы для одного и того же.

Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.

Время на прочтение
5 мин

Количество просмотров 449K

Python — один из самых популярных языков программирования, чрезвычайно полезный и в решении повседневных задач. В этой статье я вкратце расскажу о 22 полезных примерах кода, позволяющих воспользоваться мощью Python.

Некоторые из примеров вы могли уже видеть ранее, а другие будут новыми и интересными для вас. Все эти примеры легко запоминаются.

1. Получаем гласные

Этот пример возвращает в строке найденные гласные "a e i o u". Это может оказаться полезным при поиске или обнаружении гласных.

def get_vowels(String):
    return [each for each in String if each in "aeiou"]
get_vowels("animal") # [a, i, a]
get_vowels("sky") # []
get_vowels("football") # [o, o, a]

2. Первая буква в верхнем регистре

Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п.

def capitalize(String):
    return String.title()
capitalize("shop") # [Shop]
capitalize("python programming") # [Python Programming]
capitalize("how are you!") # [How Are You!]

3. Печать строки N раз

Этот пример может печатать любую строку n раз без использования циклов Python.

n=5
string="Hello World "
print(string * n)  #Hello World Hello World Hello World Hello World Hello World

4. Объединяем два словаря

Этот пример выполняет слияние двух словарей в один.

def merge(dic1,dic2):
    dic3=dic1.copy()
    dic3.update(dic2)
    return dic3
dic1={1:"hello", 2:"world"}
dic2={3:"Python", 4:"Programming"}
merge(dic1,dic2) # {1: 'hello', 2: 'world', 3: 'Python', 4: 'Programming'}

5. Вычисляем время выполнения

Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.

import time
start_time= time.time()
def fun():
    a=2
    b=3
    c=a+b
end_time= time.time()
fun()
timetaken = end_time - start_time
print("Your program takes: ", timetaken) # 0.0345

6. Обмен значений между переменными

Это быстрый способ обменять местами две переменные без использования третьей.

a=3
b=4
a, b = b, a
print(a, b) # a= 4, b =3

7. Проверка дубликатов

Это самый быстрый способ проверки наличия повторяющихся значений в списке.

def check_duplicate(lst):
    return len(lst) != len(set(lst))
check_duplicate([1,2,3,4,5,4,6]) # True
check_duplicate([1,2,3]) # False
check_duplicate([1,2,3,4,9]) # False

8. Фильтрация значений False

Этот пример используется для устранения всех ложных значений из списка, например false, 0, None, " ".

def Filtering(lst):
    return list(filter(None,lst))
lst=[None,1,3,0,"",5,7]
Filtering(lst) #[1, 3, 5, 7]

9. Размер в байтах

Этот пример возвращает длину строки в байтах, что удобно, когда вам нужно знать размер строковой переменной.

def ByteSize(string):
    return len(string.encode("utf8"))
ByteSize("Python") #6
ByteSize("Data") #4

10. Занятая память

Пример позволяет получить объём памяти, используемой любой переменной в Python.

import sys
var1="Python"
var2=100
var3=True
print(sys.getsizeof(var1)) #55
print(sys.getsizeof(var2)) #28
print(sys.getsizeof(var3)) #28

11. Анаграммы

Этот код полезен для проверки того, является ли строка анаграммой. Анаграмма — это слово, полученное перестановкой букв другого слова.

from collections import Counter
def anagrams(str1, str2):
    return Counter(str1) == Counter(str2)
anagrams("abc1", "1bac") # True

12. Сортировка списка

Этот пример сортирует список. Сортировка — это часто используемая задача, которую можно реализовать множеством строк кода с циклом, но можно ускорить свою работу при помощи встроенного метода сортировки.

my_list = ["leaf", "cherry", "fish"]
my_list1 = ["D","C","B","A"]
my_list2 = [1,2,3,4,5]

my_list.sort() # ['cherry', 'fish', 'leaf']
my_list1.sort() # ['A', 'B', 'C', 'D']
print(sorted(my_list2, reverse=True)) # [5, 4, 3, 2, 1]

13. Сортировка словаря

orders = {
 'pizza': 200,
 'burger': 56,
 'pepsi': 25,
    'Coffee': 14
}
sorted_dic= sorted(orders.items(), key=lambda x: x[1])
print(sorted_dic)  # [('Coffee', 14), ('pepsi', 25), ('burger', 56), ('pizza', 200)]

14. Получение последнего элемента списка

my_list = ["Python", "JavaScript", "C++", "Java", "C#", "Dart"]
#method 1
print(my_list[-1])  # Dart
#method 2
print(my_list.pop()) # Dart

15. Преобразование разделённого запятыми списка в строку

Этот код преобразует разделённый запятыми список в единую строку. Его удобно использовать, когда нужно объединить весь список со строкой.

my_list1=["Python","JavaScript","C++"]
my_list2=["Java", "Flutter", "Swift"]
#example 1
"My favourite Programming Languages are" , ", ".join(my_list1)) # My favourite Programming Languages are Python, JavaScript, C++
print(", ".join(my_list2))  # Java, Flutter, Swift

16. Проверка палиндромов

Этот пример показывает, как быстро проверить наличие палиндромов.

def palindrome(data):
    return data == data[::-1]
    
palindrome("level") #True
palindrome("madaa") #False

17. Перемешивание списка

from random import shuffle
my_list1=[1,2,3,4,5,6]
my_list2=["A","B","C","D"]
shuffle(my_list1) # [4, 6, 1, 3, 2, 5]
shuffle(my_list2) # ['A', 'D', 'B', 'C']

18. Преобразование строки в нижний и верхний регистры

str1 ="Python Programming"
str2 ="IM A PROGRAMMER"
print(str1.upper()) #PYTHON PROGRAMMING
print(str2.lower()) #im a programmer

19. Форматирование строки

Этот код позволяет форматировать строку. Под форматированием в Python подразумевается присоединение к строке данных из переменных.

#example 1
str1 ="Python Programming"
str2 ="I'm a {}".format(str1)   # I'm a Python Programming
#example 2 - another way
str1 ="Python Programming"
str2 =f"I'm a {str1}"    # I'm a Python Programming

20. Поиск подстроки

Этот пример будет полезен для поиска подстроки в строке. Я реализую его двумя способами, позволяющими не писать много кода.

programmers = ["I'm an expert Python Programmer",
               "I'm an expert Javascript Programmer",
               "I'm a professional Python Programmer"
               "I'm a beginner C++ Programmer"
]
#method 1
for p in programmers:
    if p.find("Python"):
        print(p)
#method 2
for p in programmers:
    if "Python" in p:
        print(p)

21. Печать в одной строке

Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.

# fastest way
import sys
sys.stdout.write("Call of duty ")
sys.stdout.write("and Black Ops")
# output: Call of duty and Black Ops
#another way but only for python 3
print("Python ", end="")
print("Programming") 
# output: Python Programming

22. Разбиение на фрагменты

Этот пример покажет, как разбить список на фрагменты и разделить его на меньшие части.

def chunk(my_list, size):
    return [my_list[i:i+size] for i in range(0,len(my_list), size)]
my_list = [1, 2, 3, 4, 5, 6]
chunk(my_list, 2) # [[1, 2], [3, 4], [5, 6]]

На правах рекламы

Серверы для разработчиков — выбор среди обширного списка предустановленных операционных систем, возможность использовать собственный ISO для установки ОС, огромный выбор тарифных планов и возможность создать собственную конфигурацию в пару кликов, активация любого сервера в течение минуты. Обязательно попробуйте!

Подписывайтесь на наш чат в Telegram.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти пароль точки доступа на телефоне
  • Как найти минус в сети
  • Как дома найти все камни
  • Как найти канал синема
  • Как найти силу тока молнии

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии