Форум сайта python.su
0
Всем привет.
У меня такая задача: нужно сделать программу, которая спрашивает русские слова, пока не введено пусто, а потом заменяет в них буквы п на б и наоборот и выводит все слова. Я сделал вариант для букв с латиницей, а вот с кириллицей проблема.
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
Офлайн
0
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
Офлайн
47
в виндовой консоли не cp1251
Офлайн
0
тогда какая?
и еще не подскажите как заменить символ в строке не используя replace
Офлайн
31
в виндовой консоли cp866
но ее можно изменить> chcp 1251
если в idle запускаете то не cp866 должна быть
Отредактировано sanodin (Дек. 8, 2013 22:42:01)
Офлайн
33
Noren
и еще не подскажите как заменить символ в строке не используя replace
Офлайн
0
дело в том что, одно из условий решить задачу без использования этой функции
Офлайн
0
и еще если я ввожу pbpbpb
программа все заменяет на ppppp
Офлайн
33
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: ')
Офлайн