Alex_3001
Ноя. 7, 2016 22:05:04
необходимо преобразовать входную строку: в выходной строке должны быть все те же символы в том же порядке, но удалить все латинские строчные согласные буквы.
строка произвольная
izekia
Ноя. 7, 2016 22:35:47
from string import ascii_lowercase
''.join(c for c in 'my new absolutely c00l string' if c not in set(list(ascii_lowercase)) - set(list('aeiou')))
насколько я помню ‘y’ - это не гласная
Alex_3001
Ноя. 7, 2016 23:03:50
py.user.next
Ноя. 8, 2016 00:31:08
>>> s = 'abc 123 def 456 ghi'
>>>
>>> pred = lambda i: i not in set('bcdfghjklmnpqrstvwxz')
>>> out = ''.join(filter(pred, s))
>>> out
'a 123 e 456 i'
>>>
izekia
Ноя. 8, 2016 02:32:24
py.user.next
а ‘y’?
JOHN_16
Ноя. 8, 2016 12:25:47
izekiaНУ как это не гласная ?? Ну блин что Вы такое говорите ??
Английский алфавит
izekia
Ноя. 8, 2016 13:25:58
JOHN_16а вот так:
English_alphabetа то англоговорящие и не в курсе)
вот
здесь еще немного рассуждений по поводу
согласен на такой вариант:
from random import randint
from string import ascii_lowercase
FULL_CONSONANTS = set(list(ascii_lowercase)) - set(list('aeiou'))
SEMIVOWELS = set(list('yw'))
def remove_consonants(string):
'''The most perfect consonants removal ever'''
return ''.join(c for c in string if c not in FULL_CONSONANTS or c in SEMIVOWELS and randint(0, 1))
>>> remove_consonants('my new absolutely c00l string')
' e aouey 00 i'
>>> remove_consonants('abc 123 def 456 ghi')
'a 123 e 456 i'
мне кажется так справедливо)
JOHN_16
Ноя. 8, 2016 17:14:13
izekia
Ок, пусть кто то там что то там говорит и делает околонаучные изыскания. Я не намерен ввязываться в этот холиварный вопрос. Мир сложен и одна и та же буква дает кучу звуков - ок? не спорим. Но в “нашем” бинарном упрощенном мире мы посчитали букву Y гласной. Если миллион людей будет против - для них найдутся миллион оппонентов, а нам дело надо делать.
izekia
Ноя. 8, 2016 19:34:42
JOHN_16
согласен, решение есть, а сконфигурировать его уже можно на свой вкус)
py.user.next
Ноя. 9, 2016 01:56:15
Задание - “удалить строчные СОГЛАСНЫЕ буквы”. Как бы там ни было, можно ли сказать, что “y” согласная? Нет, нельзя, потому что она либо гласная, либо полугласная.
А когда она гласная и когда полугласная? Это зависит от слова, в котором она находится. Но что сказано про слова в задании? Ничего. Значит, никакого определения слов в строке быть не должно. Поэтому удаление этой буквы (без учёта слова, в котором она) может привести к удалению гласной. А нам это не нужно. Поэтому удаляются определённо согласные буквы.