函数中的字符可以是+1或1

2024-09-27 04:14:02 发布

您现在位置:Python中文网/ 问答频道 /正文

实现一个函数crypto(),其中字母表中奇数位置i的每个字符将用位置i+1处的字符加密,偶数位置i处的每个字符将用位置i-1处的字符加密。或者像“a”用“b”加密,“b”用“a”加密,“c”用“d”加密,“d”用“c”加密,“e”用“f”加密,“f”用“e”加密,等等

这应该出现在:

>>>>crypto('abc')

bad

>>>>crypto('OOZ')

PPY

***尝试

^{pr2}$

我几乎肯定我在这件事上是错的。在


Tags: 函数crypto字符字母表bad奇数偶数abc
2条回答

以下是您想要的:

def crypto(s):
    return ''.join(chr(ord(c)+(1 if ord(c)%2 else -1)) for c in s)

说明:

  1. 获取字符串s(即for c in s部分)中每个字符c的序号
  2. 注意,ord('a')和{}都是奇数(非常有用!),所以。。。在
  3. 。。。(1 if ord(c)%2 else -1)部分对奇数ord(c)计算为1,偶数为-1
  4. 将上面获得的值加到ord(c)中,并使用chr获得“加密”字符
  5. ''.join()将所有内容粘在一起

将此问题分为两部分:

  1. 给定一个字符,它应该加密到哪个字符?在这里使用ord函数是正确的。您可以编写一个简单的函数,它接受一个字母并返回它应该加密到的字母(如果它需要更改的话)。在
  2. 你怎么把每个字母都放进函数里?在

相关问题 更多 >

    热门问题