python“递增”一个字符串?

时间:2010-11-14 19:21:58

标签: java python character

我知道在java中,如果你有一个char变量,你可以执行以下操作:

char a = 'a'
a = a + 1
System.out.println(a)

这会打印'b'。我不知道这是什么的确切名称,但有没有办法在python中做到这一点?

3 个答案:

答案 0 :(得分:14)

您可以使用ord和chr:

print(chr(ord('a')+1))
# b

有关ordchr的更多信息。

答案 1 :(得分:5)

作为替代方案,

如果您确实需要像示例中那样移动字母表,则可以使用string.lowercase并迭代它:

from string import lowercase

for a in lowercase:
    print a

请参阅http://docs.python.org/library/string.html#string-constants了解更多

答案 2 :(得分:0)

当char为z并且你将其递增1或2时,上述解决方案将无效,

示例:如果通过incr递增z(假设incr = 2或3)则(chr(ord(' z')+ incr))不会给出递增值,因为ascii值熄灭范围。

对于通用方式,你必须这样做

i = a to z any character
incr = no. of increment
#if letter is lowercase
asci = ord(i)
if (asci >= 97) & (asci <= 122):            
  asci += incr
  # for increment case
  if asci > 122 :
    asci = asci%122 + 96
    # for decrement case
    if asci < 97:
      asci += 26
    print chr(asci)

它可以用于递增或递减两者。

对于大写字母也可以这样做,只会更改asci值。