一、编程题
1、36.破译密码:经过研究,该密码的加密规律如下:
1)原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz);
2)逆序存储(abcd -> dcba );
3)大小写反转(abXY -> ABxy)。
输入:一个加密的字符串。(长度小于50且只包含大小写字母)
输出:输出解密后的字符串。
根据上述算法思想,补全下列代码。
输入输出示例:输入:djiAHYhSju,输出:XMvKbkdLMG
a=input()
a=list(a)
newList1=[]
newList2=[]
for i in a:
num=ord(i)
if num >=120 and num<=122:
num= ①
elif num>=88 and num<=90:
num=num-23
else:
num = ②
c=chr(num)
newList1.append(c)
③
for i in newList1:
if i.isupper():
newList2.append( ④ )
if i.islower():
newList2.append(i.upper())
for i in newList2:
print(i,end='')
参考答案:
略
解析:【喵呜刷题小喵解析】1. 首先,我们输入一个加密的字符串,并将其转化为字符列表。2. 接着,我们遍历这个列表中的每一个字符,根据题目中给出的加密规律进行解密。3. 对于每个字符,我们需要首先判断它是否位于需要被左移三位的位置(ASCII码在97到99之间的字符对应于字母表中的a到c),如果是,则将字符的ASCII码值减去3;如果是大写字母需要被左移三位(ASCII码在65到67之间的字符对应于字母表中的A到C),则将字符的ASCII码值减去3。对于其他情况,我们需要判断字符是否需要进行大小写反转。如果字符的ASCII码值在68到90之间(对应于D到Z),则需要将字符的ASCII码值减去26,即将其转化为小写字母;如果字符的ASCII码值在0到67之间(对应于A到Z),则需要将字符的ASCII码值加上26,即将其转化为大写字母。4. 然后,我们将解密后的字符列表逆序存储,并将大写字母转化为小写字母,小写字母转化为大写字母。5. 最后,我们将解密后的字符列表转化为字符串并输出。
2、37.科技社团组织一次实践活动,设计海报过程中需要对一个字符串进行编辑,字符串由大小写英文字母和英文标点符号组成,根据活动主题,需要将字符串中小写字母’h’替换为大写字母’H’。有一点要注意:第一个和最后一个’h’不用替换。
输入格式:
共1行,1个字符串,长度不超过100,由大小写英文字母和英文标点符号组成。
输出格式:
共1行,1个字符串,表示经过编辑后的字符串。
输入样例:
hill how high hello how hide
输出样例:
hill How HigH Hello How hide
s=input()
x=s. ① ('h')
y=s.rfind('h')
t=s[ ② :y]
t=t. ③ ('h','H')
print(s[0:x+1]+t+s[y: ④ ])
参考答案:
略
解析:【喵呜刷题小喵解析】:首先,我们需要读取用户输入的字符串。然后,我们需要找到第一个'h'的位置和最后一个'h'的位置。如果第一个'h'的位置是0,那么我们需要将字符串中所有的'h'替换为'H'。否则,我们需要将第一个'h'之前的部分保持不变,将第一个'h'替换为'H',将第一个'h'和最后一个'h'之间的部分中所有的'h'替换为'H',将最后一个'h'之后的部分保持不变。最后,我们需要将处理后的字符串输出。
3、38.小石喜欢带有字符“2”、“6”、“8”的车牌号,不喜欢带有数字“4”的车牌号,因此小石设计了一个计算车牌满意值的程序。对于车牌号中的所有字符,字符“2”满意值为 1,字符“6” 满意值为 2,字符“8”满意值为 3,字符“4”的满意值为-2,其他字符的满意值为 0,车牌号的满意值即为其所有字符的满意值之和,例如车牌号“浙 H94286”的满意值为 4,计算某车牌号 满意值的程序代码如下,请补充完整。
dic={"2":1,"4":-2,"6":2,"8":3}
cp=input("请输入车牌号:")
ans=0
for i in range( ① ) :
ch=cp[i]
if ② :
③
print("该车牌号的满意值为:",ans)
参考答案:
略
解析:【喵呜刷题小喵解析】:根据题目描述,我们需要补充完整计算车牌满意值的程序代码。首先,我们定义了一个字典`dic`,用于存储字符与满意值的对应关系。然后,我们使用`input`函数获取用户输入的车牌号,并将其存储在变量`cp`中。接着,我们初始化变量`ans`为0,用于存储车牌号的满意值。在`for`循环中,我们使用`range(len(cp))`来遍历车牌号中的每个字符。在每次循环中,我们获取当前字符`ch`,并检查它是否在字典`dic`中。如果`ch`在`dic`中,则将其对应的满意值加到`ans`中。最后,我们输出车牌号的满意值。完整的代码如上所示。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!