나는 비단 암호를 쓸데없는 암호로 작성하려고하는데, 도움이 필요하다. 함수의 코드가 끝날 무렵에는 도움이 필요합니다. 각 키를 시도한 후에 틈이 생길 수 있도록 구체적으로 인쇄하는 방법을 알고 싶습니다. 파이썬 3.3을 사용하고 있으며 3 주 전에 코딩을 시작했습니다. 시저 암호 무차별 암호 해독
print ("The plaintext will be stripped of any formatting such as spaces.")
freqlist = []
maxkey = 26
if key > maxkey:
raise Exception("Enter a key between 0 and 26: ")
elif key < 0:
raise Exception("Enter a key between 0 and 26: ")
freq = []
inpt=input("Please enter the cipher text:")
inpt = inpt.upper()
inpt = inpt.replace(" ", "")
inpt = inpt.replace(",", "")
inpt = inpt.replace(".", "")
for i in range(0,27):
key = i
def decrypt():
for i in range(0,27):
for a in inpt:
b=ord(a)
b-= i
if b > ord("Z"):
b -= 26
elif b < ord("A"):
b+=26
freqlist.append(b)
for a in freqlist:
d=chr(a)
freq.append(d)
freq="".join(freq)
print(freq.lower(),"\n")
decrypt()
나는 루프를 사용하려고 그리고 난 정말 효과적으로 작동하고 있다고 생각하지 않습니다.
죄송합니다 일부 변경 사항 설명과 함께, 당신의
decrypt
함수의 편집이다 어떤 오류 메시지) 아니면 그냥 효율적이지 않은가? 언어 문제 일지 모르지만 나는 그것을 이해하지 못했습니다. – Jblasco이제 모든 카이사르 암호에 대한 입력 빈도 테이블이 생겼습니다. 이 테이블을 가지고 무엇을 할 계획입니까? 어떤 암호가 맞는지 어떻게 결정할 건가요? –
이 코드를 개선하는 방법에 대한 도움과 제안이 필요합니다. – iabestever