【问题标题】:How to select every other character in a string after the first Python如何在第一个 Python 之后选择字符串中的所有其他字符
【发布时间】:2017-11-26 17:27:22
【问题描述】:

对于一个学校项目,我一直在尝试制作一个非常简单的加密器,但是我在加密部分苦苦挣扎。基本上,我希望加密是从开头的第一个字母和结尾的每个其他字符开始。

所以 123456 将返回为 135246

我在选择第一个之后的所有其他字母时遇到问题

def encrypt(message):
    return "%s%s" % (message[::-1],message[::2])

print(encrypt("123456"))

【问题讨论】:

    标签: python string slice


    【解决方案1】:

    您可以按如下方式稍微调整您的方法:

    def encrypt(message):
        return "%s%s" % (message[::2],message[1::2])
    
    print(encrypt("123456")) # 135246
    

    【讨论】:

      【解决方案2】:

      使用slicingindexing

      msg = [1, 2, 3, 4, 5, 6]
      In [30]: msg[::2] + msg[1::2]
      Out[30]: [1, 3, 5, 2, 4, 6]
      

      为了你的功能

      def encrypt(message):
          return "%s%s" % (message[::2],message[1::2])
      
      print(encrypt("123456"))
      

      【讨论】:

        【解决方案3】:

        使用以下代码

        def encrypt(message):
           return "%s%s" % (message[::2],message[1::2])
        

        【讨论】:

          【解决方案4】:

          当您使用message[::-1] 时,您实际上是在命令反向显示所有值。 所以message[::-1] 的预期输出将是 654321

          所以用

          (message[::2],message[1::2])
          

          这应该像一个魅力。

          【讨论】:

            猜你喜欢
            • 2021-07-02
            • 2015-05-30
            • 2010-10-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-04-14
            • 2020-03-27
            相关资源
            最近更新 更多