Найти - Пользователи
Полная версия: Проблема с кирилицей
Начало » Python для новичков » Проблема с кирилицей
1
underground
Всем доброго времени суток!
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.
.
underground
Да, под виндой делал…
J.R.
.
old_monty
Под 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))

PS. В консоли терминала эти хитрости не понадобились. Первый вариант print(new_text) работает правильно.
underground
Уважаемый old_monty, огромное СПАСИБО Вам за обстоятельный ответ!
old_monty
underground
Уважаемый old_monty, огромное СПАСИБО Вам за обстоятельный ответ!
Спасибо и Вам за интересный вопрос. Очень рад, что мой ответ признали полезным.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB