考点:
- 字符串操作
- 循环
- 条件判断
- 函数定义
题目描述: 编写一个Python函数 encrypt_string
,该函数接受一个字符串作为输入,并返回一个加密后的字符串。加密规则如下:
- 将字符串中的每个字符替换为其ASCII值加1。
- 如果字符的ASCII值加上1后超过了’z’的ASCII值,则从’a’的ASCII值开始循环。
- 如果字符的ASCII值加上1后超过了’Z’的ASCII值,则从’A’的ASCII值开始循环。
- 如果字符的ASCII值加上1后超过了’9’的ASCII值,则从’0’的ASCII值开始循环。
例如,输入字符串 "Hello World!"
应返回 "Ifmmp Xpsme!"
。
作答区:
# 请在此处编写你的代码
答案
def encrypt_string(s):
encrypted_chars = []
for char in s:
# 获取字符的ASCII值
ascii_value = ord(char)
# 检查是否为大写字母
if 'A' <= char <= 'Z':
# 循环到大写字母的ASCII值
if ascii_value + 1 > ord('Z'):
ascii_value = ord('A')
# 检查是否为小写字母
elif 'a' <= char <= 'z':
# 循环到小写字母的ASCII值
if ascii_value + 1 > ord('z'):
ascii_value = ord('a')
# 检查是否为数字
elif '0' <= char <= '9':
# 循环到数字的ASCII值
if ascii_value + 1 > ord('9'):
ascii_value = ord('0')
# 加密字符的ASCII值
encrypted_ascii = ascii_value + 1
# 添加加密后的字符到列表
encrypted_chars.append(chr(encrypted_ascii))
# 返回加密后的字符串
return ''.join(encrypted_chars)
www.zznjrcw.com
www.zzlhrcw.com
www.dxtwrc.com
www.dxlxrcw.com
www.lnwdrcw.com
# 测试代码
test_string = "Hello World!"
print(encrypt_string(test_string)) # 输出应为 "Ifmmp Xpsme!"
在这个答案中,我们定义了一个函数 encrypt_string
,该函数遍历输入字符串中的每个字符,并根据其ASCII值进行加密。加密规则遵循题目描述中的规则。最后,我们将加密后的字符组合成一个字符串并返回。