テキストファイルを開き、ファイル内の各文字を5文字右にシフトするプログラムを作成しようとしています。これは英数字に対してのみ行う必要があり、英数字以外の文字はそのままにしておきます。(例:CはHになります)これを行うためにASCIIテーブルを使用することになっていますが、文字が折り返されるときに問題が発生します。例:wはbになるはずですが、私のプログラムではASCIIテーブルにある文字が表示されます。私が抱えているもう1つの問題は、すべての文字が別々の行に印刷されており、すべての文字を同じ行に印刷したいということです。リストや辞書は使えません。
これは私が持っているものです、私は最終的な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)