Здравствуйте,решил пройтись по олимпиадным задачкам(самостоятельное задание из ролика на Ютубе)

Dmitriy_unique

Новичок
Пользователь
Авг 8, 2020
5
0
1
1)ОС:Windows 7
2)Python 3.8
3)Библиотека стандартная
Задание было такое:
Петя записался в кружок по программированию. На первом занятии Пете задали написать простую программу. Программа должна делать следующее: в заданной строке, которая состоит из прописных и строчных латинских букв, она:
  • удаляет все гласные буквы,
  • перед каждой согласной буквой ставит символ ".",
  • все прописные согласные буквы заменяет на строчные.
Гласными буквами считаются буквы "A", "O", "Y", "E", "U", "I", а согласными — все остальные. На вход программе подается ровно одна строка, она должна вернуть результат в виде одной строки, получившейся после обработки.
Помогите Пете справиться с этим несложным заданием.
Входные данные
Первая строка представляет собой входные данные для Петиной программы. Эта строка состоит только из прописных и строчных латинских букв и имеет длину от 1 до 100 включительно.
Выходные данные
Выведите получившуюся строку. Гарантируется, что эта строка не пуста.

Вопрос: Почему между буквами не поставилась точка (не сработал метод '.'.join(a) ) ?
 

Вложения

  • Безымянный.png
    Безымянный.png
    101,7 КБ · Просмотры: 5

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Можно код кодом, а не скриншотом? Там 10 строк, из-за них эту фигню на весь экран открывать.
Метод сработал. '.'.join(a) возвращает строку с точками между буквами, но эту строку ты никуда не записал.
Python:
s = 'aoyeuiAOYEUIbfgBFG'
vowels = 'aoyeui'
result = '.' + '.'.join(x for x in s.lower() if x not in vowels)
print(result)
# .b.f.g.b.f.g
 

Dmitriy_unique

Новичок
Пользователь
Авг 8, 2020
5
0
1
Спасибо
 

Форум IT Специалистов