【问题标题】:JES Cipher remove spaces and punctuationJES Cipher 删除空格和标点符号
【发布时间】:2018-09-21 07:50:17
【问题描述】:

我有下面的代码和下面的输出。我想知道我应该如何更改代码以获得没有zs 的答案。换句话说,我需要它忽略空格/空格和标点符号,以便最终输出为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

【问题讨论】:

    标签: python jes


    【解决方案1】:

    如果letter 不在alpha 中,alpha.find(letter) 返回 -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
    

    【讨论】:

      猜你喜欢
      • 2019-06-27
      • 2019-05-09
      • 2016-01-06
      • 2019-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      相关资源
      最近更新 更多