以下是一个不使用ord()
和chr()
函数的凯撒密码解决方法的代码示例:
def caesar_cipher(text, shift):
result = ""
for char in text:
if char.isalpha():
# 将字符转换为大写字母
char = char.upper()
# 将字符转换为ASCII码,减去65得到0-25的范围
char_value = ord(char) - 65
# 对字符的值进行位移
shifted_value = (char_value + shift) % 26
# 将值转换回大写字母
shifted_char = chr(shifted_value + 65)
# 将字符添加到结果字符串中
result += shifted_char
else:
# 非字母字符直接添加到结果字符串中
result += char
return result
# 使用示例
text = "Hello, World!"
shift = 3
encrypted_text = caesar_cipher(text, shift)
print(encrypted_text) # 输出: KHOOR, ZRUOG!
在上面的代码中,我们首先遍历给定的文本字符串中的每个字符。对于每个字母字符,我们将其转换为大写字母,然后将其转换为ASCII码(减去65得到0-25的范围)。接下来,我们对字符的值进行位移,然后将其转换回大写字母,并将其添加到结果字符串中。对于非字母字符,我们直接将其添加到结果字符串中。最后,我们返回结果字符串作为加密后的文本。