gpt4 book ai didi

python - 加密文件中的行

转载 作者:太空狗 更新时间:2023-10-30 02:12:31 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来打开一个文本文件,并将文件中的每个字符向右移动 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)

最佳答案

使用 str.translate :

In [24]: import string

In [25]: string.uppercase
Out[25]: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

In [26]: string.uppercase[5:]+string.uppercase[:5]
Out[26]: 'FGHIJKLMNOPQRSTUVWXYZABCDE'

In [27]: table = string.maketrans(string.uppercase, string.uppercase[5:]+string.uppercase[:5])

In [28]: 'CAR'.translate(table)
Out[28]: 'HFW'

In [29]: 'HELLO'.translate(table)
Out[29]: 'MJQQT'

关于python - 加密文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15260966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com