移位变换函数
函数输入设置为明文与移动位数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| def shift_transform(input_m, shift):
output_c = "" for i in range(len(input_m)): char = input_m[i] if char.isupper(): output_c += chr((ord(char) + shift - 65) % 26 + 65) else: output_c += chr((ord(char) + shift - 97) % 26 + 97) return output_c
|
在python中,ord( )函数返回一个表示特定字符的Unicode字符的整数。这个函数接受一个字符串参数(长度为1),并返回其Unicode码点。
1 2 3 4 5
| print(ord('a')) print(ord('A')) print(ord('1')) print(ord('@'))
|
这些数字是字符在Unicode标准中的位置。
实验测试
1 2 3 4 5
| Message_test = "zaizhelishurunixiangyaodemingwenxinxi" shift_num = 10 print("原始字符串为: " + Message_test) print("移位数: " + str(shift_num)) print("移位变换后的字符串为: " + shift_transform(Message_test, shift_num))
|
测试结果
1 2 3
| 原始字符串为: zaizhelishurunixiangyaodemingwenxinxi 移位数: 10 移位变换后的字符串为: jksjrovscrebexshskxqikynowsxqgoxhsxhs
|
Author:
QUANQUAN
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
Make the world MORE PERFECT !