我是编程新手。我想慢慢地一块一块地写一个程序,根据查普曼的代码对句子进行编码和解码。
https://1drv.ms/u/s!Ah-IzfOzjlZ_ungI4M_yjxY9_kig?e=e6Qzir
https://1drv.ms/u/s!Ah-IzfOzjlZ_unnDyEXct45dwu60?e=0oK49w
第一个步骤是将所选关键字“君士坦丁堡”的字母指定为各自的数字
A是1。
C是2,因为虽然它是字母表中的第三个字母,但关键字中没有B
到目前为止,我已经能够为字母分配正确的数字,但是,如果关键字中有超过1个字母,则打印出来的字母就不正确
word = 'constantinople'
alphabet = 'abcdefghijklmnopqrstuvwxyz'
count = 1
list = [None] * len(word)
for letter in alphabet:
for char in word:
if letter is char:
list[(word.index(char))] = (count+1)
count += 1
print(tuple(word))
print(list)
这导致:
('c', 'o', 'n', 's', 't', 'a', 'n', 't', 'i', 'n', 'o', 'p', 'l', 'e')
[2, 10, 8, 12, 14, 1, None, None, 4, None, None, 11, 5, 3]
这接近于所需的答案
[2,9,6,12,13,1,7,14,4,8,10,11,5,3]
不正确的值用于关键字(o、n、t)中的重复字符。该值似乎是递增的,而不是插入到正确的索引中
您可以为此使用enumerate:
输出:
相关问题 更多 >
编程相关推荐