Форум сайта python.su
0
Всем доброго времени суток!
Python3.4.3
Решил попробовать создать програмку, которая бы из пользовательского ввода убирала все гласные и оставляла в конечном выводе только согласные буквы.
В процессе выяснилось, что с латинскими буквами программа работает, как и должна, а с кирилицей выводит только первую букву введенного слова непонятное количество раз.
Буду очень признателен Вам, если объясните мне, почему так происходит.
Привожу код программы:
#Только согласные.
#Демонстрирует, как создавать новые строки из исходных с помощью цикла for
#Создается переменная для ввода пользовательского текста
text=input('Введите свое сообщение: ')
#Оздается новая переменная для нового текста
new_text=''
#Создается константа
KONST='аеёийоуыэюяaegijou'
for bukva in text:
if bukva not in KONST:
new_text += bukva
print(new_text)
>>>
Введите свое сообщение: фывапролджэ
ф
ф
ф
ф
ф
ф
ф
>>> ================================ RESTART ================================
>>>
Введите свое сообщение: asdfghjkl
s
sd
sdf
sdfh
sdfhk
sdfhkl
>>>
Офлайн
.
Отредактировано J.R. (Янв. 27, 2016 08:15:47)
Офлайн
0
Да, под виндой делал…
Офлайн
.
Отредактировано J.R. (Янв. 27, 2016 08:16:10)
Офлайн
20
Под OS X в IDLE такие же результаты. Видимо, причина не во Windows, а в IDLE.
Проблему в IDLE мне удалось обойти так:
text=input('Введите свое сообщение: ') new_text='' KONST = 'аеёийоуыэюяaegijou' for bukva in text: if bukva not in KONST: new_text += bukva print(''.join(new_text))
Отредактировано old_monty (Дек. 17, 2015 16:37:25)
Офлайн
0
Уважаемый old_monty, огромное СПАСИБО Вам за обстоятельный ответ!
Офлайн
20
undergroundСпасибо и Вам за интересный вопрос. Очень рад, что мой ответ признали полезным.
Уважаемый old_monty, огромное СПАСИБО Вам за обстоятельный ответ!
Офлайн