0

所以这是我用于密码程序的代码:

cipher = {}
for f in open('mapping.txt'):
  org, cip = f.split()
  cipher[ord(org)] = cip


inpt = input('Enter string: ')

inpt.translate(cipher)
print(inpt)

不起作用,但文本文件是这样的:

a e
e i
i o
o u
u a

所以我想要做的是将元音与旁边的元音交换?我认为我在正确的轨道上,但我不确定,有人可以告诉我一个更好的方法吗?并且文本文件中的字母不一定是元音,它们可以是任何东西,但这只是为了测试,在此先感谢:)

4

2 回答 2

1
cipher = {}
for f in open('mapping.txt'):
  org, cip = f.split()
  cipher[ord(org)] = cip


inpt = input('Enter string: ')

inpt = inpt.translate(cipher)
print('Message: ' + inpt)

感谢@AshwiniChaudhary!

于 2013-09-02T11:31:20.507 回答
0

试试这个:

from string import maketrans

input_cipher = open('mapping.txt', 'r').read()
intab = ''.join(el[0] for el in input_cipher.split())
outtab = ''.join(el[1] for el in input_cipher.split())
trantab = maketrans(intab, outtab)

inpt = input('Enter string: ')

inpt = inpt.translate(trantab)
print(inpt)
于 2013-09-02T11:23:09.753 回答