
파이썬 딕셔너리 활용: 간단한 퀴즈 프로그램 만들기
안녕하세요! 파이썬 기초를 배우는 여러분, 이번 시간에는 재미있는 미니 프로젝트를 통해 딕셔너리를 직접 활용해보겠습니다. 바로 간단한 퀴즈 프로그램을 만드는 것이죠!
딕셔너리는 여러 정보를 '이름(key)'과 '값(value)' 쌍으로 묶어서 저장하는 파이썬의 특별한 도구입니다. 마치 단어 사전처럼, 단어(key)와 그 뜻(value)을 연결해 놓는 것과 같아요. 퀴즈를 만들 때 질문과 정답을 묶어두기에 아주 편리합니다.
이번 강좌에서는 딕셔너리에 퀴즈 문제를 저장하고, 사용자에게 질문을 보여준 뒤 답변을 받아 정답인지 확인하는 간단한 퀴즈 프로그램을 만들어보겠습니다. 이를 통해 딕셔너리의 유용성을 직접 느껴보고, 이전 강좌에서 배운 입력(input())과 조건문(if)을 복습하는 시간을 가질 것입니다.
예시 1: 퀴즈 문제와 정답 딕셔너리에 저장하기
딕셔너리는 중괄호({})를 사용하여 만들며, 각 항목은 key: value 형태로 저장하고 쉼표(,)로 구분합니다. 퀴즈에서는 질문을 key로, 해당 정답을 value로 사용하면 편리합니다.
위 코드를 실행하면 다음과 같이 딕셔너리에 저장된 문제와 정답 쌍을 확인할 수 있습니다.
여기서 질문(예: "대한민국의 수도는?")이 key가 되고, 정답(예: "서울")이 value가 되어 한 쌍을 이룹니다. 마치 이름표(key)에 물건(value)을 붙여놓는 것과 같습니다.
예시 2: 퀴즈 문제 보여주고 사용자 답변 받기
이제 딕셔너리에 저장된 문제 중 하나를 골라 사용자에게 보여주고, 답변을 받아봅시다. 문제(key)만 가져오려면 딕셔너리에서 .keys()를 사용할 수 있지만, 여기서는 간단히 첫 번째 문제(key)를 가져와 print() 함수로 보여주겠습니다. 사용자에게 답변을 받을 때는 input() 함수를 사용합니다.
위 코드를 실행하면 "대한민국의 수도는?" 이라는 문제가 출력되고, 여러분이 직접 답변을 입력할 수 있게 됩니다.
input() 함수는 사용자가 키보드로 입력한 내용을 받아서 user_answer라는 변수에 저장합니다.
예시 3: 사용자 답변이 정답인지 확인하고 결과 출력하기
이제 사용자가 입력한 답변(user_answer)과 딕셔너리에 저장된 정답(correct_answer)이 같은지 비교할 차례입니다. 이때 if 문을 사용하여 두 값이 같으면 "정답입니다!", 다르면 "오답입니다!"를 출력하도록 코드를 작성합니다.
주의:
컴퓨터는 '서울'과 '서울 ' (띄어쓰기) 또는 '서울'과 'seoul'을 다른 것으로 인식합니다. 사용자가 대소문자나 불필요한 공백 때문에 오답 처리되는 것을 막기 위해, 비교할 때는 두 값 모두 소문자로 바꾸고 앞뒤 공백을 제거하는 것이 좋습니다. .lower() 함수는 글자를 소문자로 바꾸고, .strip() 함수는 앞뒤 공백을 제거합니다.
위 코드를 실행하고 답변을 입력해보세요. 정답이면 "정답입니다!", 오답이면 "오답입니다. 정답은 [정답] 입니다." 라고 출력될 것입니다.
중요:
이 예시에서는 첫 번째 문제 하나만 다루었지만, for 반복문을 사용하면 딕셔너리에 있는 모든 문제에 대해 질문하고 정답을 확인할 수 있습니다. 반복문은 다음 강좌에서 더 자세히 다룰 예정입니다.
핵심 : 딕셔너리는 key: value 형태로 데이터를 저장합니다. 퀴즈 문제(key)와 정답(value)을 저장하는 데 유용합니다. input()으로 사용자 입력을 받고 if/else로 정답을 확인합니다. 비교 시 .lower()와 .strip()를 사용하면 더 유연한 비교가 가능합니다.
마무리 요약
이번 시간에는 딕셔너리를 사용하여 간단한 퀴즈 데이터를 저장하고, input() 함수로 사용자 답변을 받은 뒤 if/else 조건문으로 정답을 확인하는 아주 기본적인 퀴즈 프로그램을 만들어보았습니다. 딕셔너리가 어떻게 정보를 구조적으로 저장하는 데 사용되는지 이해하는 데 도움이 되었기를 바랍니다. 다음 강좌에서는 반복문을 배워 딕셔너리의 모든 문제를 자동으로 질문하는 퀴즈를 만들어 볼 것입니다.
코드를 직접 실행해보시고 궁금한 점이 있다면 댓글에 남겨주세요!
다음 강의에서는 반복문을 사용하여 여러 문제를 풀어보는 방법을 배워봅니다.