我正在尝试编写一个程序来打开一个文本文件,并将文件中的每个字符向右移动 5 个字符。它应该只对字母数字字符执行此操作,并保留非字母数字字符。(例如:C 变为 H)我应该使用 ASCII 表来执行此操作,但当字符环绕时我遇到了问题。例如:w 应该变成 b,但我的程序给了我一个 ASCII 表中的字符。我遇到的另一个问题是所有字符都打印在不同的行上,我希望它们都打印在同一行上。我不能使用列表或字典。
这就是我所拥有的,我不确定如何做最后的 if 语句
def main():
fileName= input('Please enter the file name: ')
encryptFile(fileName)
def encryptFile(fileName):
f= open(fileName, 'r')
line=1
while line:
line=f.readline()
for char in line:
if char.isalnum():
a=ord(char)
b= a + 5
#if number wraps around, how to correct it
if
print(chr(c))
else:
print(chr(b))
else:
print(char)