티스토리 뷰

키즈 노트

키즈노트 #5 사자성어 퀴즈

오리지날초이 2023. 11. 27. 23:46

cmd.exe
0.28MB
사자성어 퀴즈.py
0.00MB
사자성어.txt
0.02MB

import random
from colorama import init, Fore, Back, Style

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("[사자성어 퀴즈]")

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}")

    # 사용자 입력 받기 (이 환경에서는 실제 입력을 받을 수 없으므로 주석 처리)
    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(f"최종 스코어는 {score}점 입니다.")

 

# 데이터 셋

街談巷說(가담항설) : 거리나 마을에 떠도는 이야기나 말. 패관문학의 재료가 됨.
苛斂誅求(가렴주구) : 세금을 혹독하게 징수하고 물건을 강제로 요구함.
假弄成眞(가롱성진) : 거짓된 것을 참된 것처럼 보이게 하는 것으로 장난삼아 한 일이 진짜가 됨.
佳人薄命(가인박명) : 아름다운 여인은 운명이 박함을 이르는 말.
家藏什物(가장집물) : 집에 두는 여러 가지 물건이나 가구. 장롱이나 문갑 등.
刻鵠類鶩(각곡유목) : 높은 뜻을 가지고 어떤 일을 이루려다 중도에 그만두어 다른 사람의 비웃음을 받게 됨.
刻骨難忘(각골난망) : 입은 은혜에 대한 고마운 마음이 깊이 뼈에 사무쳐 잊혀지지 않음.
各樣各色(각양각색) : 여러 가지 모양과 빛깔. 제각기 다양한 모습들.
사자성어 퀴즈:
설명: 한 가지를 들으면 열을 미루어 앎. 공자가 자공에게 안회와 자공 중 누가 더 낫다고 생각하느냐는 물음에 자공이 "안회는 하나를 들으면 열을 알고 자기는 하나를 들으면 겨우 둘 안다."라고 대답한 것에서 유래.
보기:
1. 巫山之夢(무산지몽)
2. 傍若無人(방약무인)
3. 聞一知十(문일지십)
4. 同病相憐(동병상련)
5. 亡羊之歎(망양지탄)
정답 번호를 입력하세요: 3
정답입니다!
사자성어 퀴즈:
설명: 천 년에 한 번 만남. 곧, 좀처럼 만나기 어려운 좋은 기회.
보기:
1. 刎頸之交(문경지교)
2. 千載一遇(천재일우)
3. 麻中之蓬(마중지봉)
4. 居安思危(거안사위)
5. 綠衣紅裳(녹의홍상)
정답 번호를 입력하세요: 2
정답입니다!
사자성어 퀴즈:
설명: 갈라진 길에서 양을 잃고 탄식했다는 고사에서 유래. 학문의 길도 여러 갈래라 길을 바로잡기 어렵다는 뜻.
보기:
1. 錦衣夜行(금의야행)
2. 去頭截尾(거두절미)
3. 敎學相長(교학상장)
4. 亡羊之歎(망양지탄)
5. 同病相憐(동병상련)
정답 번호를 입력하세요: 4
정답입니다!
사자성어 퀴즈:
설명: 미리 준비하여 두지 않고 일이 닥쳐서야 허둥지둥 덤벼 댐.
보기:
1. 南柯一夢(남가일몽)
2. 膠柱鼓瑟(교주고슬)
3. 弄璋之慶(농장지경)
4. 誇大妄想(과대망상)
5. 渴而穿井(갈이천정)
정답 번호를 입력하세요: 2
오답입니다. 정답은 渴而穿井(갈이천정)입니다.
최종 스코어는 3점 입니다.
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함