small = [chr(i) for i in range(97,123)]
big= [chr(i) for i in range(65,91)]
#分别对小写字母和大写字母字符串的调用
cipher = input()
list_cipher = list(cipher)
#因为字符串是不可改变的,所以将其变为列表后再逐个进行修改,之后再连接
for i in range(len(cipher)):
if list_cipher[i].isalpha():
#n[i].isalpha()判断n[i]字符串是否为字母,并返回布尔值
if list_cipher[i] in small:
#判断n[i]字符串是大写还是小写字母
loc_letter = small.index(list_cipher[i])
if loc_letter > 20:
#将第22个字母往后减去21,以免越界
#例如21+5 ---> 26 (字母字符串总长度为25)
list_cipher[i] = small[loc_letter-21]
else:
#由题意得将一个字母变成其后第5个字母
list_cipher[i] = small[loc_letter+5]
elif list_cipher[i] in big:
#大写字母同理
loc_letter = big.index(list_cipher[i])
if loc_letter > 20:
list_cipher[i] = big[loc_letter-21]
else:
list_cipher[i] = big[loc_letter+5]
else:
continue
complete_cipher = ''.join(list_cipher)
#将修改后的列表连接,并以字符串的格式输出
print(complete_cipher)
本关任务:翻译密码。为了保密,常不采用明码电文,而用密码电文,按事先约定的规律将一个字符转换为另一个字符,收报人则按相反的规律转换得到原来的字符。例如,将字母“A”→“F”,“B”→“G”,“C”→“H”,即将一个字母变成其后第5个字母。例如,“He is in Beijing.”应转换为“Mj nx ns Gjnonsl.”。
常见的字符串类型测试函数:字符串类型测试函数返回的都是逻辑值,假设有字符串s,则有:
s.isalnum():是否全是字母和数字,并至少有一个字符
s.isalpha():是否全是字母,并至少有一个字符
s.isdigit():是否全是数字,并至少有一个字符
s.isspace():是否全是空格,并至少有一个字符
s.islower():s中的字母是否全是小写
s.isupper():s中的字母是否便是大写
s.istitle():s是否是首字母大写
判断一个字符是否为字母可以使用str.isalpha()函数。
测试输入1:He is in Beijing.
预期输出1:Mj nx ns Gjnonsl.
测试输入2:China
预期输出2:Hmnsf
本篇博客介绍了翻译密码的原理,即通过将字符转换为其后第5个字符进行加密。同时,列举了Python中用于字符串类型测试的函数,如isalnum(), isalpha(), isdigit(), isspace(), islower(), isupper()和istitle()。并提供了两个测试用例,展示如何对输入字符串进行翻译密码的转换。"
52235921,5677872,使用setValuesForKeysWithDictionary避免模型文件崩溃,"['iOS开发', 'Objective-C', '模型转换', '字典转模型', 'KVC/KVO']
4049

被折叠的 条评论
为什么被折叠?



