Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2013 17:55:13

Noren
Зарегистрирован: 2013-12-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

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

Всем привет.
У меня такая задача: нужно сделать программу, которая спрашивает русские слова, пока не введено пусто, а потом заменяет в них буквы п на б и наоборот и выводит все слова. Я сделал вариант для букв с латиницей, а вот с кириллицей проблема.

words=
b=u'b'
p=u'p'
word=raw_input(u'Введите слово: ‘).decode(’cp1251')

while len(word)!=0:
if p in word:
word=word.replace(p,b)
elif b in word:
word=word.replace(b,p)
words.append(word)
word=raw_input(u'Введите слово: ‘).decode(’cp1251')
print words


Офлайн

#2 Дек. 8, 2013 17:57:14

Noren
Зарегистрирован: 2013-12-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

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

words=[]
b=u'b'
p=u'p'
word=raw_input(u'Введите слово: ').decode('cp1251')
while len(word)!=0:
    if p in word:
        word=word.replace(p,b)
    elif b in word:
        word=word.replace(b,p)
    words.append(word)
    word=raw_input(u'Введите слово: ').decode('cp1251')
print words
    

Офлайн

#3 Дек. 8, 2013 18:28:37

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

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

в виндовой консоли не cp1251

Офлайн

#4 Дек. 8, 2013 21:31:51

Noren
Зарегистрирован: 2013-12-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

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

тогда какая?

и еще не подскажите как заменить символ в строке не используя replace

Офлайн

#5 Дек. 8, 2013 22:38:34

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

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

в виндовой консоли cp866
но ее можно изменить> chcp 1251
если в idle запускаете то не cp866 должна быть

Отредактировано sanodin (Дек. 8, 2013 22:42:01)

Офлайн

#6 Дек. 8, 2013 23:26:01

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

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

Noren
и еще не подскажите как заменить символ в строке не используя replace

Странный вопрос. Не использовать функцию, которая для этого предназначена. Ну используй re.sub или split + join, но зачем?



Офлайн

#7 Дек. 8, 2013 23:32:10

Noren
Зарегистрирован: 2013-12-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

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

дело в том что, одно из условий решить задачу без использования этой функции

Офлайн

#8 Дек. 8, 2013 23:34:47

Noren
Зарегистрирован: 2013-12-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

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

и еще если я ввожу pbpbpb
программа все заменяет на ppppp

Офлайн

#9 Дек. 9, 2013 00:29:19

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

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

Noren
дело в том что, одно из условий решить задачу без использования этой функции

word = input('Please type the word: ')
while word != '':
	print(''.join(['p' if char=='b' else 'b' if char in ('b', 'p') else char for char in word ]))
	word = input('Please type the word: ')



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version