我有以下代码,输出如下。我想知道应该如何更改代码才能在其中没有z
的地方得到答案。换句话说,我需要它忽略空格/标点符号,以便最终输出改为sdfqfqeshqs
。
def buildCipher(key):
alpha = "abcdefghijklmnopqrstuvwxyz"
rest = ""
for letter in alpha:
if not (letter in key):
rest = rest + letter
print key + rest
def encode2(string, alpha2):
alpha = "abcdefghijklmnopqrstuvwxyz"
secret = ""
for letter in string:
index = alpha.find(letter)
secret = secret+alpha2[index]
print secret
buildCipher("earth")
产生earthbcdfgijklmnopqsuvwxyz
。
encode2('this is a test', "earthbcdfgijklmnopqsuvwxyz")
产生sdfqzfqzezshqs
答案 0 :(得分:0)
alpha.find(letter)
不在letter
中, alpha
返回-1。 alpha2[-1]
是alpha2
中的最后一个字母。因此,如果索引为-1的字母就可以跳过。像这样:
def encode2(string, alpha2):
alpha = "abcdefghijklmnopqrstuvwxyz"
secret = ""
for letter in string:
index = alpha.find(letter)
if index != -1:
secret = secret + alpha2[index]
print secret