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

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

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))
相关文章
leetcode每日一题为求职做准备(两数之和)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
leetcode每日一题:134. 加油站
leetcode每日一题:134. 加油站
题解 P1614 【爱与愁的心痛】
题目链接 前缀和。#重点在一个小小的常数优化但是数据大了以后比楼下们跑的会快!!!楼下用前缀和的题解都是跑了两遍循环。而实际上一遍循环就可以呀。就是加一段这个 if(i>=m) if(low>(ans[i]-ans[i-m])) low=ans[i]-ans[i-m];   直接维护一个low值就好。
1395 0
|
存储 C++
【PAT甲级 - C++题解】1095 Cars on Campus
【PAT甲级 - C++题解】1095 Cars on Campus
86 0
|
C++
【PAT甲级 - C++题解】1147 Heaps
【PAT甲级 - C++题解】1147 Heaps
78 0
|
C++
【PAT甲级 - C++题解】1077 Kuchiguse
【PAT甲级 - C++题解】1077 Kuchiguse
48 0
|
C++
【PAT甲级 - C++题解】1070 Mooncake
【PAT甲级 - C++题解】1070 Mooncake
63 1
|
存储 C++
【PAT甲级 - C++题解】1002 A+B for Polynomials
【PAT甲级 - C++题解】1002 A+B for Polynomials
66 0
|
存储 C++ 网络架构
【PAT甲级 - C++题解】1062 Talent and Virtue
【PAT甲级 - C++题解】1062 Talent and Virtue
65 0
|
C++
【PAT甲级 - C++题解】1058 A+B in Hogwarts
【PAT甲级 - C++题解】1058 A+B in Hogwarts
79 0

热门文章

最新文章