Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 17, 2015 13:54:03

underground
Зарегистрирован: 2015-12-17
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кирилицей

Всем доброго времени суток!
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
>>>

Офлайн

#2 Дек. 17, 2015 14:13:52

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

Проблема с кирилицей

.

Отредактировано J.R. (Янв. 27, 2016 08:15:47)

Офлайн

#3 Дек. 17, 2015 14:48:05

underground
Зарегистрирован: 2015-12-17
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кирилицей

Да, под виндой делал…

Офлайн

#4 Дек. 17, 2015 14:54:47

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

Проблема с кирилицей

.

Отредактировано J.R. (Янв. 27, 2016 08:16:10)

Офлайн

#5 Дек. 17, 2015 16:09:24

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Проблема с кирилицей

Под 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) работает правильно.

Отредактировано old_monty (Дек. 17, 2015 16:37:25)

Офлайн

#6 Дек. 18, 2015 07:23:14

underground
Зарегистрирован: 2015-12-17
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кирилицей

Уважаемый old_monty, огромное СПАСИБО Вам за обстоятельный ответ!

Офлайн

#7 Дек. 18, 2015 07:52:20

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Проблема с кирилицей

underground
Уважаемый old_monty, огромное СПАСИБО Вам за обстоятельный ответ!
Спасибо и Вам за интересный вопрос. Очень рад, что мой ответ признали полезным.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version