품생품사(品生品死)

소프트웨어 품질에 살고 품질에 죽는 그런 평범한 일상 블로그

TESTING/PROGREMING

[파이썬 코딩 - Chap.23] 실습 조금 생각하는 단어장 만들기 문제 풀어보기

품생품사(品生品死) 2020. 11. 29. 06:14
반응형

파이썬 예제 : 단어장 만들기

단어장을 만들어 보려합니다.

코딩은 정답은 없으니 문제를 풀면서 응용해 보도록 하세요.

 

문제

영어 강사는 학생들의 단어 암기를 위해 단어장 프로그램을 만들려고 합니다.

 

이 프로그램은 콘솔로 영어 단어와 한국어 뜻을 받고,

vocabulary.txt라는 새로운 텍스트 파일에 단어와 뜻을 정리하는데요.

 

사용자가 새로운 단어와 뜻을 입력할 때마다 vocabulary.txt에 작성되는 것입니다.

사용자는 반복적으로 단어와 뜻을 입력하는데, 단어나 뜻으로 q를 입력하는 순간 프로그램은 즉시 종료됩니다.

사용자가 q를 입력하고 나면 파일은 더 이상 바뀌지 않아야 합니다.

 

출력 예시

영어 단어를 입력하세요:

영어 단어를 입력하세요: cat
한국어 뜻을 입력하세요:

영어 단어를 입력하세요: cat
한국어 뜻을 입력하세요: 고양이
영어 단어를 입력하세요:

영어 단어를 입력하세요: cat
한국어 뜻을 입력하세요: 고양이
영어 단어를 입력하세요: apple
한국어 뜻을 입력하세요:

영어 단어를 입력하세요: cat
한국어 뜻을 입력하세요: 고양이
영어 단어를 입력하세요: apple
한국어 뜻을 입력하세요: 사과
영어 단어를 입력하세요:​

 

이런 식으로 단어를 여덟 개 입력했다고 가정합시다.

영어 단어를 입력하세요: cat
한국어 뜻을 입력하세요: 고양이
영어 단어를 입력하세요: apple
한국어 뜻을 입력하세요: 사과
영어 단어를 입력하세요: church
한국어 뜻을 입력하세요: 교회
영어 단어를 입력하세요: temple
한국어 뜻을 입력하세요: 절
영어 단어를 입력하세요: wallet
한국어 뜻을 입력하세요: 지갑
영어 단어를 입력하세요: backpack
한국어 뜻을 입력하세요: 책가방
영어 단어를 입력하세요: soap
한국어 뜻을 입력하세요: 비누
영어 단어를 입력하세요: bicycle
한국어 뜻을 입력하세요: 자전거
영어 단어를 입력하세요: q

사용자가 q를 입력하면 프로그램이 종료되고, vocabulary.txt에 다음과 같이 단어들이 정리되어 있어야 합니다.

cat: 고양이
apple: 사과
church: 교회
temple: 절
wallet: 지갑
backpack: 책가방
soap: 비누
bicycle: 자전거

 

힌트

1. 파일을 쓰기 위해서는 먼저 파일을 열어야겠죠?

with open('vocabulary.txt', 'w') as f:

이렇게 하면 vocabulary.txt라는 파일을 열고, 그 파일에 글을 작성할 수 있습니다.

 

2. 글을 작성하기 위해서는 단어와 뜻을 반복적으로 받아야 하는데요.

while문에서 반복적으로 해야 하는 일을 정리해 봅시다.

  • 영어 단어를 입력 받는다.
  • 만약 유저가 q를 입력했으면 프로그램을 종료한다.
  • 한국어 뜻을 받는다.
  • 만약 유저가 q를 입력했으면 프로그램을 종료한다.
  • 영어 단어와 한국어 뜻을 단어: 뜻의 형태로 파일에 작성한다.

정답

with open('vocabulary.txt', 'w') as f:
    while True:
        english_word = input('영어 단어를 입력하세요: ')    
        if english_word == 'q':
            break
        
        korean_word = input('한국어 뜻을 입력하세요: ')
        if korean_word == 'q':
            break
        
        f.write('{}: {}\n'.format(english_word, korean_word))

 

Related References

 

코딩이 처음이라면, 코드잇

월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요

www.codeit.kr:443

This is coding_000
PYTHON 프로그래핑

요약 : sparta coding club, 스파르타 코딩, 코드잇, 노마드 코더, 프로그래밍, 직장인 코딩, 내일 배움 카드 코딩, 밀크티 코딩, 초등 코딩, 아이스크림 코딩, 코딩 소프트웨어, 파이썬 국비 지원, 파이썬 교육

728x90
반응형