출처 : 반크_독도2023
참고풀이]
key="abcdefghijklmnopqrstuvwxyz"
#평문을 받아서 암호화하고 암호문을 반환한다.
def encrypt(n, plaintext):
result=''
for k in plaintext.lower():
try:
i=(key.index(k) + n) % 26
result += key[i]
except ValueError:
result += k
return result.lower()
#암호문을 받아서 복호화하고 평문을 반환한다.
def descrambling(n, encrypted):
result=''
for k in encrypted.lower():
try:
i=(key.index(k) - n) % 26
result += key[i]
except ValueError:
result += k
return result.lower()
#파일을 불러온다.
s=''
def Load(fileName):
global s
f = open(fileName,"r")
s = f.read() #text.txt자료들을 s에 저장한다.
s = s.rstrip() #'\n'들을 제거하여 다시 s에 저장한다.
f.close()
#파일을 저장한다.
def Save(fileName):
global s1
f = open(fileName, "w")
f.write(s1)
f.close()
#평문을 읽어온다.
Load("test.txt")
#평문의 단어를 오른쪽으로 3칸 이동시켜 암화화한다.
s1 = encrypt(3,s)
#결과출력
print("평문을 암호화 하기]")
print('평 문 :', s)
print('암호문 :', s1)
#암호문 저장하기
Save("encry01.txt")
#저장된 암호문 불러오기
Load("encry01.txt")
#불러온 암호문을 복호화하기
s1 = descrambling(3, s)
#결과출력
print("\n암호문을 복호화 하기]")
print('암 호 문 서 :', s)
print('복호화한 문서 :', s1)
#복호화한 내용 저장하기
Save("descram01.txt")
참고풀이 결과]
대한민국의 아름다운 영토, 독도
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 320제] 두근두근 파이썬(개정판) CHAPTER 11 연습문제 2 p359 (0) | 2024.10.14 |
---|---|
Python 319제] 두근두근 파이썬(개정판) CHAPTER 11 연습문제 1 p359 (0) | 2024.10.14 |
Python 317제] 두근두근 파이썬(개정판) CHAPTER 11 도전문제(2) p346 (0) | 2024.10.07 |
Python 316제] 두근두근 파이썬(개정판) CHAPTER 11 도전문제(1) p346 (0) | 2024.10.07 |
Python 315제] 두근두근 파이썬(개정판) CHAPTER 10 연습문제 7 p334 (1) | 2024.10.07 |
댓글