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
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
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
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
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
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
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
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
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
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 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
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
69.3k35 gold badges181 silver badges252 bronze badges
answered Nov 28, 2018 at 9:56
0 / 0 / 0 Регистрация: 31.03.2020 Сообщений: 12 |
|
1 |
|
Определение гласных букв в слове01.04.2020, 14:40. Показов 33381. Ответов 6
Добрый день! Помогите, пожалуйста, с решением следующей задачи: «Напишите программу, которая принимает на вход слово (word) и последовательно выводит все русские гласные из этого слова.» word=input() При таком раскладе он воспринимает все буквы как гласные и выводит пробелы. Прошу строго меня не судить, второй день за изучением пайтона
0 |
5407 / 3831 / 1214 Регистрация: 28.10.2013 Сообщений: 9,554 Записей в блоге: 1 |
|
01.04.2020, 14:51 |
2 |
if letter==x Вы сравниваете букву и кортеж. Добавлено через 2 минуты
При таком раскладе он воспринимает все буквы как гласные и выводит пробелы При вашем раскладе скрипт вообще никакие буквы не воспринимает как гласные.
1 |
0 / 0 / 0 Регистрация: 31.03.2020 Сообщений: 12 |
|
01.04.2020, 15:04 [ТС] |
3 |
Спасибо большое Garry Galler Вот так он определяет согласные в слове.
0 |
5407 / 3831 / 1214 Регистрация: 28.10.2013 Сообщений: 9,554 Записей в блоге: 1 |
|
01.04.2020, 15:11 |
4 |
Но выводит каждую букву в отдельной строке, а на место гласных, ставит пробел тоже в отдельной строке. Потому что вы так ему сказали. Добавлено через 1 минуту
Как преобразовать вывод, чтоб гласные он просто пропускал Определитсь уже что вам нужно: гласные или согласные.
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()
0 |
unfindable_404 690 / 473 / 204 Регистрация: 22.03.2020 Сообщений: 1,052 |
||||
01.04.2020, 15:32 |
7 |
|||
Решение Зачем вам тут нужен enumerate? enumerate используется, когда нужно учитывать позицию элемента, а вам она тут не нужна.
Если я правильно понял, то это то, что вам нужно.
0 |
Описание задачи
Программа принимает на вход строку и подсчитывает в ней количество гласных при помощи множеств.
Решение задачи
- Вводим строку и записываем ее в переменную.
- Для подсчета букв создаем переменную
count
и инициируем ее значением 0. - Создаем множество, которое содержит все буквы английского языка, передающие гласные звуки.
- Используем цикл
for
, чтобы перебрать все буквы в строке. - При помощи инструкции
if
и оператораin
мы проверяем, входит ли буква в множество гласных. - Если буква входит в множество гласных, переменная
count
увеличивается на 1. - После окончания работы цикла значение переменной
count
выводится на экран.
Исходный код
Ниже дан исходный код, который осуществляет подсчет гласных в строке. Результаты работы программы также даны ниже.
s = raw_input("Введите строку:") count = 0 vowels = set("aeiou") for letter in s: if letter in vowels: count += 1 print("Количество гласных равно:") print(count)
Объяснение работы программы
- Пользователь вводит строку и она записывается в переменную.
- Переменной
count
присваивается значение0
. - При помощи функции
set()
создается множество всех букв английского алфавита, передающих гласные звуки. Множество записывается в переменнуюvowels
. - При помощи цикла
for
перебираем все буквы во введенной строке. - При помощи инструкции
if
и оператораin
проверяем, входит ли буква в множество гласныхvowels
. - Если буква входит в множество гласных, переменная
count
увеличивается на 1. - Окончательное значение переменной
count
выводится на экран. - Конец.
Результаты работы программы
Пример 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.