Noren
Дек. 8, 2013 17:55:13
Всем привет.
У меня такая задача: нужно сделать программу, которая спрашивает русские слова, пока не введено пусто, а потом заменяет в них буквы п на б и наоборот и выводит все слова. Я сделал вариант для букв с латиницей, а вот с кириллицей проблема.
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
Дек. 8, 2013 17:57:14
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
Дек. 8, 2013 18:28:37
в виндовой консоли не cp1251
Noren
Дек. 8, 2013 21:31:51
тогда какая?
и еще не подскажите как заменить символ в строке не используя replace
sanodin
Дек. 8, 2013 22:38:34
в виндовой консоли cp866
но ее можно изменить> chcp 1251
если в idle запускаете то не cp866 должна быть
Budulianin
Дек. 8, 2013 23:26:01
Noren
и еще не подскажите как заменить символ в строке не используя replace
Странный вопрос. Не использовать функцию, которая для этого предназначена. Ну используй re.sub или split + join, но зачем?
Noren
Дек. 8, 2013 23:32:10
дело в том что, одно из условий решить задачу без использования этой функции
Noren
Дек. 8, 2013 23:34:47
и еще если я ввожу pbpbpb
программа все заменяет на ppppp
Budulianin
Дек. 9, 2013 00:29:19
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: ')