출처 : 반크_독도2023
문제]
두근두근 파이썬(개정판) CHAPTER 9. p290 도전문제를 응용하여 단어장을 만들어 파일관리하는 프로그램으로 작성하시오.
참고풀이]
import pickle
english_dict = { }
def Serch_data():
global english_dict
while True:
chk=int(input("\n1. 영한사전\n2. 한영사전\n3. 검색종료\n원하는 번호를 선택하세요 : "))
if chk==1:
word = input("\n단어를 입력하시오(종료는 q): ")
if word == "q": break
if word in english_dict:
print (f"{word}를(을) 번역하면 {english_dict[word]}입니다.")
else:
print("입력한 단어는 없습니다.\n")
elif chk==2:
word = input("\n단어를 입력하시오(종료는 q): ")
if word == "끝": break
if word in english_dict.values():
for key, val in english_dict.items():
if word==val:
print (key)
print (f"{word}를(을) 번역하면 {key}입니다.")
break
else:
print("입력한 단어는 없습니다.\n")
else:
break
def Input_data():
global english_dict
while True:
eword=input("\n영단어를 입력하세요(종료는 q): ")
if eword.lower()=='q':
break
hword=input("입력한 영단어를 해석하시오 : ")
if eword not in english_dict:
english_dict[eword]=hword
else:
print("\n이미 입력된 단어입니다.\n다시 입력하세요...")
def Main_Menu():
print("\n======= 메 인 메 뉴 =======")
print("\n1. 처음 단어장을 생성합니다.")
print("2. 자료 추가")
print("3. 자료 검색")
print("0. 작업 종료")
print("="*28)
def LoadFile():
global english_dict
infile=open("EngKor.pic","rb") #단어들을 단어장 파일에서 읽어온다.
english_dict = pickle.load(infile)
infile.close()
#Main Part
while True:
Main_Menu()
ch=int(input("원하는 번호를 선택하세요 : "))
if ch==1:
outfile=open("EngKor.pic","wb") #단어들을 단어장 파일에 저장한다.
english_dict['one'] = '하나'
english_dict['two'] = '둘'
english_dict['three'] = '셋'
pickle.dump(english_dict, outfile)
outfile.close()
print("\n단어장이 생성되었습니다.")
elif ch==2:
LoadFile() #저장된 파일을 읽어온다.
Input_data() #단어를 추가한다.
outfile=open("EngKor.pic","wb") #단어들을 단어장 파일에 저장한다.
pickle.dump(english_dict, outfile)
outfile.close()
elif ch==3:
LoadFile() #저장된 파일을 읽어온다.
Serch_data() #단어를 검색한다.
else:
break
print()
print("\n수고하셨습니다.")
참고풀이 결과]
1) 처음 단어장을 생성하기
2) 자료 추가하기
3) 자료 검색 및 종료하기
대한민국의 아름다운 영토, 독도의 여름
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 297제] 두근두근 파이썬(개정판) CHAPTER 9 도전문제 p291 (0) | 2024.09.09 |
---|---|
Python 296제] 두근두근 파이썬(개정판) CHAPTER 10 연습문제 5번 p333 (0) | 2024.08.05 |
Python 294제] 두근두근 파이썬(개정판) CHAPTER 9 도전문제 p290 (3) (0) | 2024.07.29 |
Python 293제] 두근두근 파이썬(개정판) CHAPTER 9 도전문제 p290 (2) (0) | 2024.07.29 |
Python 292제] 두근두근 파이썬(개정판) CHAPTER 9 도전문제 p290 (1) (0) | 2024.07.29 |
댓글