파이썬/파이썬(python) 중급

오픈 트리비아 데이터베이스(open trivia database) - 질문 저장 창고

Olivia-BlackCherry 2022. 8. 25. 20:45

오픈 트리비아 데이터베이스(open Trivia database)에서

4000개 이상의 검증된 문제들을 무료로 가져와 이용할 수 있다.

 

괜찮다면, 아직 점검 중인 9000여개의 문제들도 이용할 수 있다.

 

즉 이곳은 문제와 답변 데이터가 한가득 모여있는 공간이다!!

 

 

지난 시간 퀴즈 만들기를 실습하면서, 

거기서 사용한 수수께끼 문제는 필자가 인터넷에서 검색해서 적은 것이다.

question_data = [
    {"text""비만 오면 시끄럽게 나타나는 가장 빠른 개는""answer""번개"},
    {"text""어느 식당이든 다 키우고 있는 개는?""answer""이쑤시개" },
    {"text""개는 개인데 여러 색을 가진 개는?""answer""무지개"},
    {"text""우리가 잘 때 늘 옆에 있어 주는 개는?" , "answer""베개"},
    {"text""개는 개인데 날아다니는 개는?""answer""솔개"},
]

5문제 밖에 되지 않아 아쉽지만..

문제를 찾고 문장을 타이핑하는데 시간이 너무 오래 걸려서 어쩔 수가 없었다.

 

하지만!!

 

이제는, 트리비아 데이터베이스를 활용하면 된다.

 

퀴즈를 마음껏 가져올 수 있다.
그것도 코딩할 수 있는 언어로 말이다!!

 

 

(다만, 영어라는 단점이 있다..!

마우스 오른쪽 버튼을 눌러, 한국어로 번역해서 쓰자!)

 

 

지금부터는 코딩에서 데이터로 활용하기 위해,

어떻게 데이터를 가져오는지 설명하겠다.

 

오른쪽 상단의 API를 클릭한다.

 

 

문제 개수, 카테고리, 난이도, 정답 유형을 선택한다.

 

선택했다면

Generate API URL을 클릭한다.

 

그러면 상단에 URL이 만들어 지는데,

복사하여 새창에 붙여넣기 한 후, 이동한다. 

 

문제와 정답이 있는 코드가 나오는데, 모두 JSON 형식으로 되어 있다. 

JSON형식은 { } 중괄호로 데이터를 나열하고 있는데,

파이썬의 딕셔너리와 비슷한 형태이다.

 

이것을 조금만 손보면 된다.

파이참으로 들어가서, 

코드를 붙여넣으면, 

한 줄로 죽 이어져 있어 보기가 불편하다. 

이때는

Code> Reformat code 

를 눌러서 자동 정렬되게 한다.

코드가 정렬되었지만, 

아직도 복잡하다. 

나무가 너무 많다..

코드가 한 눈에 들어오지 않는다.

 

이럴 때는

코드 왼쪽에 행 번호를 표기해둔 곳, 

바로 오른쪽에 보면 세모같은 표시가 있는데, 

그것을 클릭해보자.

 

코드를 접어주어서, 

크게 숲을 보기가 좋다.

 

내가 필요한 것은 문제와, 정답이니

파란색으로 블록 지정한 곳을 빼고는 지우는 것이 좋겠다.

 

이 데이터는 10개의 데이터로 구성되어 있고, 

각 데이터는 5개의 키와 값을 갖는다. 

 

최종 코드는 아래와 같다.

quiz_data = [
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "The Cold War ended with Joseph Stalin's death.",
     "correct_answer": "False", "incorrect_answers": ["True"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "The Spitfire originated from a racing plane.", "correct_answer": "True",
     "incorrect_answers": ["False"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "The United States Department of Homeland Security was formed in response to the September 11th attacks.",
     "correct_answer": "True", "incorrect_answers": ["False"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "Adolf Hitler was a german soldier in World War I.",
     "correct_answer": "True", "incorrect_answers": ["False"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "In World War ll, Great Britian used inflatable tanks on the ports of Great Britain to divert Hitler away from Normandy\/D-day landing.",
     "correct_answer": "True", "incorrect_answers": ["False"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "Adolf Hitler was tried at the Nuremberg trials.",
     "correct_answer": "False", "incorrect_answers": ["True"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "The French Kingdom helped the United States gain their independence over Great Britain during the Revolutionary War.",
     "correct_answer": "True", "incorrect_answers": ["False"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "The United States of America was the first country to launch a man into space.",
     "correct_answer": "False", "incorrect_answers": ["True"]},
    {"category": "History", "type": "boolean", "difficulty": "easy",
     "question": "Thomas Crapper was a plumber who invented the flushing toilet.",
     "correct_answer": "False", "incorrect_answers": ["True"]}]

 

 

1. 오픈 트리비아 데이터베이스 주소

https://opentdb.com/

 

Open Trivia DB

Free to use, user-contributed trivia questions!

opentdb.com

 

 

2. 오픈트리비아 데이터베이스를 활용한 퀴즈 만들기

아래의 재생버튼 ▶을 눌러서 실행해보세요