# 加密解密程序'''作业:自己写一个加密程序,能够加密的内容是英文和汉字。同时加密并且解密就是说,一段话中既有中文又有英文,标点符号不用处理。加密规则,获取ascii码数字,中间用|分割# 思路提示:print(ord("我"))print(chr(25105))扩展内容:自定义规则玩起来编码统一偏移15'''
# 判断是否为中文汉字
def is_chinese(char):
if char >= 'u4e00' and char <= 'u9fa5':
return True
else:
return False
# 判断是否为英文字母
def is_alphabet(char):
if (char >= 'u0041' and char <= 'u005a') or (char >= 'u0061' and char <= 'u007a'):
return True
else:
return False
# 判断是否为数字
def is_number(char):
if char >= 'u0030' and char <= 'u0039':
return True
else:
return False
# 其它语言符号或标点
def is_other(uchar):
if not (is_chinese(uchar) or is_number(uchar) or is_alphabet(uchar)):
return True
else:
return False
# 存要加密的字符串
str_tmp = input("请输入要加密的数据:")
# 存加密后的字符串
ret = ""
# 存解密后的字符串
ret_ec = ""
for i in str_tmp:
if not is_other(i):
ret += str(ord(i)+15)+"|"
else:
ret += i+"|"
print("加密后的程序:n"+ret)
strarr = ret.split("|")
for i in strarr:
if not is_other(i):
ret_ec += chr(int(i)-15)
else:
ret_ec += i
print("解密后的程序:n"+ret_ec)