首页 > 试题广场 >

字符串的反码

[编程题]字符串的反码
  • 热度指数:6014 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
    一个二进制数,将其每一位取反,称之为这个数的反码。下面我们定义一个字符的反码。如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。     举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。     一个字符串的反码定义为其所有字符的反码。我们的任务就是计算出给定字符串的反码。

输入描述:
    输入是一个字符串,字符串长度不超过 80 个字符。


输出描述:
输出其反码
示例1

输入

Hello

输出

Svool
示例2

输入

JLU-CCST-2011 

输出

QOF-XXHG-2011
while True:
    try:
        inp=input().strip()
        if inp!='!':
            inp=list(inp)
            re=''
            for i in inp:
                if i.islower():
                    distance=ord(i)-97
                    re+=chr(122-distance)
                elif i.isupper():
                    distance=ord(i)-65
                    re+=chr(90-distance)
                else:
                    re+=i
            print(re)
    except:
        break
编辑于 2019-07-31 13:45:47 回复(0)

python solution:


while True:
    try:
        string=input()
        if string!="!":
            res=""
            for i in string:
                if i.isupper():
                    res+=chr(ord("Z")-(ord(i)-ord("A")))
                elif i.islower():
                    res += chr(ord("z") - (ord(i) - ord("a")))
                else:
                    res+=i
            print(res)
    except:
        break
发表于 2017-10-16 18:33:37 回复(0)