如何在第一个Python之后选择字符串中的每个其他字符

时间:2017-06-23 08:07:06

标签: python string slice

对于一个学校项目,我一直在尝试制作一个非常简单的加密器,但是我正在努力加密部分。基本上我希望加密是从开头的第一个开头到最后的每个其他字母的所有其他字母。

所以123456将返回135246

我在第一次

之后选择其他所有字母时遇到问题
def encrypt(message):
    return "%s%s" % (message[::-1],message[::2])

print(encrypt("123456"))

4 个答案:

答案 0 :(得分:2)

您可以按照以下方式调整您的方法:

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

print(encrypt("123456")) # 135246

答案 1 :(得分:2)

使用以下代码

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

答案 2 :(得分:1)

使用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 :(得分:1)

使用message[::-1]时,您实际上是要求反向显示所有值。 因此message[::-1]的预期输出将为 654321

所以使用

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

这应该像魅力一样。