티스토리 뷰
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
반응형
'키즈 노트' 카테고리의 다른 글
키즈노트 #8 사자성어 퀴즈 로컬 웹페이지 구현 (0) | 2024.06.27 |
---|---|
키즈노트 #7 사자성어 퀴즈 전체 스코어, 최고 점수 기록 (0) | 2024.06.27 |
키즈노트 #5 사자성어 퀴즈 (0) | 2023.11.27 |
키즈노트 #4 10진법 to 2진법 계산 (1) | 2023.11.26 |
키즈노트 #3 날짜 사이 계산하기 (2) | 2023.11.26 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- OverTheWire
- find
- Encode
- over the wire
- tar
- 웹보안공부
- OpenSSL
- Strings
- ssh
- tr
- BASE64
- HTTPS
- java
- solution
- bz2
- Natas
- 리눅스
- Bandit
- Linux
- SSL
- 32bit
- 풀이
- gz
- 압축파일
- X32
- nc
- grep
- 웹보안
- 리터럴
- natas7
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함