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

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


Noren
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
    
bismigalis
в виндовой консоли не cp1251
Noren
тогда какая?

и еще не подскажите как заменить символ в строке не используя replace
sanodin
в виндовой консоли cp866
но ее можно изменить> chcp 1251
если в idle запускаете то не cp866 должна быть
Budulianin
Noren
и еще не подскажите как заменить символ в строке не используя replace

Странный вопрос. Не использовать функцию, которая для этого предназначена. Ну используй re.sub или split + join, но зачем?
Noren
дело в том что, одно из условий решить задачу без использования этой функции
Noren
и еще если я ввожу pbpbpb
программа все заменяет на ppppp
Budulianin
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: ')
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