gpt4 book ai didi

python - 通过非字母进行加密

转载 作者:太空宇宙 更新时间:2023-11-03 15:23:34 25 4
gpt4 key购买 nike

所以这是我的问题...我试图做到这一点,以便任何不属于字母表的字符都不会在文本文件中移动,但它确实“占用”了移动量。例如,如果我想对语句“闹钟”实现 2 个移位量(3 个移位和 4 个移位),则 a 将移位 3,l 移位 4,第二个 a 移位 3,r 移位 4,m 移位3,然后空格不会被移动,而是会“占用”一个空格,因此它会导致 c 移动 3。这是我到目前为止所得到的

import sys

file = input("Enter input file: ")
shifts = input("Enter shift amounts: ").split()
code = input("Encode (E) or Decode (D)?")
if code == "E":
with open(file) as f:
lines = f.read().replace("e","zw").splitlines()
for line in lines:
mid = len(line) // 2
line_list = list(line)
line_list.insert(mid,'hokie')
new_line = ('hokie' + (''.join(line_list) + 'hokie'))
for index, char in enumerate(new_line):
index = index % len(shifts)

print(chr(ord(char)+int(shifts[index])),end='')

print()

示例输入:

文件文本:

虽然伯南伍德来到了邓西南,你反对,因为你不是女人出生的,但我会尝试最后一个。在我的 body 之前我扔出我的好战盾牌。躺下,麦克德夫;第一个喊“坚持住,够了!”的人该死。——麦克白

转变:

3 4 5 6 7

结果:

kspolWltank Goyqer Drsi icltqpha ivpdb ar Iauvmsguca,nvnmjkspolDri aksz vsttygzh、icltqphantn sk ur butdr hvur、nvnmjkspolBdbz L boso yxf xmfd pmurlifya。 HGZJTXGZ研究kspolL ynyra sf afxsloec vlnnvnmjfdoh。 Oed vq, Shfhzlm;ltqphkspolDri kdqsfdg gfd lns wlfz immurliwya gwogzw “Orpi,casubjl!”oronkkspol--ShkspolfFecakltqph

最佳答案

你必须添加一个if,这是我的解决方案。对于标点符号,请看Best way to strip punctuation from a string in Python

import string
exclude = set(string.punctuation)
shifts = [3,4]
lines = ["alarm clock", "alarm ';.clock"]
for line in lines:
mid = len(line) // 2
line_list = list(line)
line_list.insert(mid,'hokie')
new_line = ('hit' + (''.join(line_list) + 'hit'))
index = 0
for char in new_line:
index = index % len(shifts)
if(char in exclude):
print(char,end='')
continue
print(chr(ord(char)+int(shifts[index])),end='')
index += 1

关于python - 通过非字母进行加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43313277/

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