Я думаю, вы должны сделать так:
original = 'qsv el arm aepm sh tzz ussx pmb as dspm as arm tex sh armel dsvbaci.'
ciphertext = 'qsv el arm aepm sh tzz ussx pmb as dspm as arm tex sh armel dsvbaci.'
newtext = ''
answer = 'y'
while answer is 'y':
print(ciphertext)
cl = raw_input('Which letter would you like to replace? ')
rl = raw_input('What is the new letter? ')
newtext = ciphertext.replace(cl,rl)
print(newtext)
answer = raw_input('Would you like to continue? (y/n) ')
if(answer == "y"):
ciphertext = newtext
else:
ciphertext = original
Я немного изменил ваш код.Если вам нужны какие-либо разъяснения, позвольте мне знать
ОБНОВЛЕНИЕ
original = 'qsv el arm aepm sh tzz ussx pmb as dspm as arm tex sh armel dsvbaci.'
plaintext = 'qsv el arm aepm sh tzz ussx pmb as dspm as arm tex sh armel dsvbaci.'
answer = 'y'
replacements = {}
while answer is not 'q':
print(plaintext)
cl = input('Which letter would you like to replace? ')
rl = input('What is the new letter? ')
x = [i for i, ltr in enumerate(original) if ltr == cl]
replacements[cl] = x
plaintext = list(plaintext)
for i in replacements[cl]:
plaintext[i] = rl
plaintext = "".join(plaintext)
print plaintext
answer = input('Would you like to continue? (y/n) ')
if(answer == "n"):
plaintext = original
Это должно быть хорошо!Дай мне знать.Я знаю о проблеме raw_input
, я перешел на ввод для более быстрой «отладки».Извините, но я не понял, прежде чем проблема правильно: P