def ReadPTxt():
filename = input("请输入密文文档的名称:")
infile = open(filename,"r",encoding='utf-8')
data = infile.read()
print(data)
return(data)
def Translated(inp):
for i in range(0,len(inp)):
if ord('A') <= ord(inp[i]) <= ord('Z'):
onew = ord('A') + ((ord(inp[i]) - ord('A')) + 5) % 26
elif ord('a') <= ord(inp[i]) <= ord('z'):
onew = ord('a') + ((ord(inp[i]) - ord('a')) + 5) % 26
else:
onew=ord(inp[i])
new=chr(onew)
print(new,end="")
text=ReadPTxt()
print("密文翻译结果如下:")
Translated(text)
知识点
1.ord( ),以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值
2.chr( )函数,返回表示unicode码位为整数i的字符的字符串
3. end=' '意思是末尾不换行,加空格。
4.range()函数 语法range(start, end, scan) 计数从start开始,默认值为0,从end结束,scan为每次跳跃的间距,默认值为1。
5.open(文件名,模式) 方法用于打开一个文件,并返回文件对象
读取文件中infile = open(filename,"r",encoding='utf-8') r的模式为只读
6.在ReadPTxt()代码最后有一个return 返回值,在一开始的时候函数调用之后可以读取数据但是调用不成功,最后才发现是没有返回读取的值所以一直调用不成功,加上一句return()之后,调用成功。