본문 바로가기

Programming language/Python

[Python]파이썬으로 간단한 퀴즈 애플리케이션 만들기

1. 프로그램 설명
이 프로그램은 사용자에게 여러 선택지 중 하나를 선택하게 하는 간단한 퀴즈 애플리케이션입니다. 사용자의 응답을 정답과 비교하여 점수를 계산하고 결과를 출력합니다.

2. 소스 코드

questions = [
    {
        "question": "파이썬의 확장자는 무엇인가요?",
        "choices": ["a. .py", "b. .java", "c. .js", "d. .rb"],
        "answer": "a"
    },
    {
        "question": "무엇은 프로그래밍 언어가 아닌가요?",
        "choices": ["a. Java", "b. Python", "c. SQL", "d. JavaScript"],
        "answer": "c"
    }
]

def ask_question(question_obj):
    print(question_obj["question"])
    for choice in question_obj["choices"]:
        print(choice)
    answer = input("답을 입력하세요: ")
    if answer == question_obj["answer"]:
        return True
    return False

score = 0
for q in questions:
    if ask_question(q):
        score += 1

print(f"\n당신의 점수는 {score}/{len(questions)}입니다.")

3. 소스 코드 설명

  • questions 리스트에는 퀴즈의 질문, 선택지, 정답이 저장되어 있습니다.
  • ask_question 함수는 주어진 질문 객체를 사용하여 질문과 선택지를 출력하고 사용자의 응답을 받아 정답과 비교합니다.
  • 메인 코드에서는 questions 리스트의 모든 질문에 대하여 ask_question 함수를 호출하며, 정답을 맞춘 경우 점수를 증가시킵니다.
  • 모든 질문이 끝나면 최종 점수를 출력합니다.

4. 출력

프로그램을 실행하면 순차적으로 질문과 선택지가 출력되고 사용자의 응답을 받습니다. 모든 질문에 응답한 후 최종 점수가 출력됩니다. 예를 들면:

파이썬의 확장자는 무엇인가요?
a. .py
b. .java
c. .js
d. .rb
답을 입력하세요: a

무엇은 프로그래밍 언어가 아닌가요?
a. Java
b. Python
c. SQL
d. JavaScript
답을 입력하세요: c

당신의 점수는 2/2입니다.

이 프로그램을 통해 사용자는 다양한 퀴즈를 풀면서 지식을 테스트할 수 있습니다.