每日一题-特效药申报题解

简介: 每日一题-特效药申报题解

Description

小理所在的医药公司最近正在准备申报病毒特效药。但是这些医生在书写药品名的时候经常不注意大小写,格式比较混乱,并且这些医生也不注意安全性,不对药品进行加密。

小理需要规整这些药名,并且对这些特效药的名称进行特别的加密。

具体步骤如下:

如果药名开头是字母,则需要大写,其余的字母需要是小写。药名中所有的字母需要在字母表中被循环左移了三个位置(如dec则变为abz)\

药名需要逆序存储。

Input

输入共n+1行,第一行为一个整数n,表示接下来将有n个字符串,其中n不超过100。接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。药品名由字母、数字和-组成。

Output

输出共n行,每行为每个单词规整并加密后的字符串。

Sample Input 1

4
A34-ABCDE
abc-xyz-F
ccc456
1-345

Sample Output 1

bazyx-43X
c-wvu-zyX
654zzZ
543-1

题解

n = int(input())
for i in range(0,n):
    medicine = list(input())
    if medicine[0].isalpha():
        medicine[0] = medicine[0].upper()
        if 68 <= ord(medicine[0]) <= 90:
            medicine[0] = chr(ord(medicine[0]) - 3)
        else:
            medicine[0] = chr(90-(2-(ord(medicine[0])-65)))
    for j in range(1,len(medicine)):
        if medicine[j].isalpha():
            medicine[j] = medicine[j].lower()
            if 100 <= ord(medicine[j]) <= 122:
                medicine[j] = chr(ord(medicine[j])-3)
            else:
                medicine[j] = chr(122-(2-(ord(medicine[j])-97)))
    medicine.reverse()
    print(''.join(medicine))
相关文章
|
C++
【PAT甲级 - C++题解】1070 Mooncake
【PAT甲级 - C++题解】1070 Mooncake
51 1
|
算法 机器人
LeetCode 周赛 351(2023/06/25)T2 有点意思
> **本文已收录到 [AndroidFamily](https://github.com/pengxurui/AndroidFamily),技术和职场问题,请关注公众号 \[彭旭锐] 和 \[BaguTree Pro] 知识星球提问。**
82 0
|
C++
【PAT甲级 - C++题解】1147 Heaps
【PAT甲级 - C++题解】1147 Heaps
70 0
|
存储 C++
【PAT甲级 - C++题解】1095 Cars on Campus
【PAT甲级 - C++题解】1095 Cars on Campus
73 0
|
C++
【PAT甲级 - C++题解】1077 Kuchiguse
【PAT甲级 - C++题解】1077 Kuchiguse
41 0
|
存储 C++
【PAT甲级 - C++题解】1002 A+B for Polynomials
【PAT甲级 - C++题解】1002 A+B for Polynomials
54 0
|
C++
【PAT甲级 - C++题解】1058 A+B in Hogwarts
【PAT甲级 - C++题解】1058 A+B in Hogwarts
67 0
|
算法
LeetCode 周赛 335,纯纯手速场!
昨晚是 LeetCode 第 335 场周赛,你参加了吗?这场周赛整体难度不高,有两道模板题,第三题和第四题应该调换一下位置。
123 0
leetcode每日一题:134. 加油站
leetcode每日一题:134. 加油站
|
存储 算法 Java
leetcode每日一题:数组专练篇第二期(2/2)
leetcode每日一题:数组专练篇第二期(2/2)