키즈 노트
키즈노트 #6 사자성어 퀴즈 + 네이버 사전 힌트
오리지날초이
2023. 11. 28. 21:37
import random
from colorama import init, Fore, Back, Style
import webbrowser
init()
# 파일 읽기
file_path = 'C:\\Users\\USER\\Dropbox\\vscode project\\python sia quiz\\사자성어 퀴즈\\사자성어.txt'
with open(file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
# 사자성어와 설명을 분리하여 저장
proverbs = {}
for line in lines:
parts = line.strip().split(':')
if len(parts) == 2:
proverbs[parts[0].strip()] = parts[1].strip()
# 랜덤으로 사자성어 선택 및 퀴즈 생성
def create_quiz(proverbs, num_choices=5):
correct_answer = random.choice(list(proverbs.keys()))
choices = random.sample(list(proverbs.keys()), num_choices - 1)
if correct_answer not in choices:
choices.append(correct_answer)
random.shuffle(choices)
return proverbs[correct_answer], choices, correct_answer
# 퀴즈 생성 및 사용자에게 제시
score = 0
correct = True
print("[사자성어 퀴즈]")
hint = []
while ( correct):
description, choices, correct_answer = create_quiz(proverbs)
# 사용자에게 문제 제시
print(f"\n설명: {description}")
print("보기:")
for i, choice in enumerate(choices, 1):
print(f"{i}. {choice}")
hint.append(choice)
print(Style.RESET_ALL, end="")
hint_num = int(input(Fore.BLUE + "몇 번 힌트를 원하시나요? (0-5), 0은 힌트 없음 : "))
if(hint_num != 0):
url = f"https://hanja.dict.naver.com/#/search?query={hint[hint_num - 1]}&range=all"
# Internet Explorer를 사용하여 URL 열기
webbrowser.get('c:/program files/internet explorer/iexplore.exe %s').open(url)
hint = []
# 사용자 입력 받기 (이 환경에서는 실제 입력을 받을 수 없으므로 주석 처리)
user_answer = input(Fore.YELLOW + "정답 번호를 입력하세요: ")
print(Style.RESET_ALL, end="")
# 정답 확인 (이 환경에서는 실제 입력을 받을 수 없으므로 예시 값 사용)
correct = choices[int(user_answer) - 1] == correct_answer
print(Fore.GREEN + "정답입니다!" if correct else Fore.GREEN + f"오답입니다. 정답은 {correct_answer}입니다.")
print(Style.RESET_ALL, end="")
if(correct):
score += 1
print(Fore.RED + f"\n최종 스코어는 {score}점 입니다.")
[사자성어 퀴즈]
설명: 즐거운 일이 다하면 슬픈 일이 온다는 뜻.
보기:
1. 甘言利說(감언이설)
2. 內憂外患(내우외환)
3. 牽强附會(견강부회)
4. 竿頭之勢(간두지세)
5. 興盡悲來(흥진비래)
몇 번 힌트를 원하시나요? (0-5), 0은 힌트 없음 : 1
정답 번호를 입력하세요: 5
정답입니다!
설명: 푸른 나무 그늘과 꽃다운 풀. 곧, 여름의 자연 경치.
보기:
1. 命在頃刻(명재경각)
2. 望洋之嘆(망양지탄)
3. 綠陰芳草(녹음방초)
4. 結草報恩(결초보은)
5. 敬而遠之(경이원지)
몇 번 힌트를 원하시나요? (0-5), 0은 힌트 없음 :
728x90
반응형