Skip to content
파이썬
2023.10.04 23:29

파이썬 랜덤으로 시험문제 풀기

조회 수 94089 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

파이썬 랜덤으로 시험문제 풀기

 

시험문제를 1-3.png 2-2.png 3-5.png . . . 

로 저장하는데,

 

앞의 번호와 -뒤에 숫자는 문제의 정답번호를 말하는 것입니다.

예를들어 1-3.png 는 1번문제의 정답은 3 입니다.

문제번호를 여러개를 저장한 다음 코딩을 실행하면 랜덤으로 문제가 추출됩니다.

 

1-3.png

 

2-1.png

 

3-3.png

 

4-4.png

 

5-5.png

 

6-2.png

 

7-3.png

 

8-1-모세혈관.2-산소.3-교환.png

 

 


import os
import random
from PIL import Image, ImageTk
import tkinter as tk
import pygame
 
# 이미지 폴더 경로
image_folder = r'E:\python\py_code\공\data\과학'
 
# 이미지 파일 목록 생성
image_files = [f for f in os.listdir(image_folder) if f.endswith('.png')]
 
# 하단 GUI 요소를 미리 생성
window = tk.Tk()
window.title("문제 맞추기 게임")
 
# 이미지 표시용 라벨
image_label = tk.Label(window)
image_label.pack(pady=10)
 
# 이미지와 확인 버튼을 포함하는 프레임 생성
frame = tk.Frame(window)
frame.pack()
 
question_label = tk.Label(frame, text="")
question_label.grid(row=0, column=0)
 
entry = tk.Entry(frame)
entry.grid(row=0, column=1, padx=10)
 
result_label = tk.Label(frame, text="")
result_label.grid(row=1, columnspan=2)
 
# Pygame 초기화 및 MP3 파일 경로 설정
pygame.init()
correct_sound = pygame.mixer.Sound(r'E:\python\py_code\공\ok.mp3')
incorrect_sound = pygame.mixer.Sound(r'E:\python\py_code\공\nono.mp3')
 
def play_correct_sound():
    correct_sound.play()
 
def play_incorrect_sound():
    incorrect_sound.play()
 
def show_random_question():
    # 랜덤하게 이미지 선택
    random_image = random.choice(image_files)
    image_path = os.path.join(image_folder, random_image)
   
    # 이미지 표시
    img = Image.open(image_path)
    img = img.resize((400, 400))
    img = ImageTk.PhotoImage(img)
    image_label.config(image=img)
    image_label.image = img
   
    # 정답 추출
    answer = int(random_image.split('-')[1].split('.')[0])
   
    # 사용자로부터 정답 입력 받기
    def check_answer(event=None):
        user_answer = int(entry.get())
        if user_answer == answer:
            result_label.config(text="정답을 맞췄어요.")
            play_correct_sound()  # 정답 소리 재생
            show_random_question()
        else:
            result_label.config(text="다시 한번 풀어보세요.")
            play_incorrect_sound()  # 오답 소리 재생
   
    # 엔터 키로 정답 확인
    entry.bind("<Return>", check_answer)
   
    # 하단 GUI 업데이트
    entry.delete(0, tk.END)
    result_label.config(text="")
   
    # 하단 GUI 생성
    question_label.config(text="이미지에 나타난 숫자는 무엇일까요?")
   
    # 확인 버튼 생성 (오른쪽에 위치)
    check_button = tk.Button(frame, text="확인", command=check_answer)
    check_button.grid(row=0, column=2)
 
# 초기 문제 표시
show_random_question()
 
# Tkinter 이벤트 루프 시작
window.mainloop()
 
# pygame 종료
pygame.mixer.quit()

 


 

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
31 주식 중국 상해A 관심종목 2015.11.28 847
30 주식 중국 성장관련주 정보 모으기 2015.08.14 1092
29 주식 중국주식 재무제표 2014.07.26 2558
28 주식 증권사별 HTS 다운로드 3 2010.10.01 8383
27 주식 지금 주식 비중 늘려라? 현증시의 악재리스트 file 2009.07.13 6607
26 주식 총선 대선 테마주 - 김무성/안철수/문재인/박원순/반기문 2016.01.03 4958
25 주식 최강 한동훈주 2023.04.13 37114
24 주식 쿠팡 이런회사를 사고 싶다. file 2016.01.08 1375
23 주식 키움 api 2015.05.12 3891
22 주식 테마주 file 2017.04.13 5108
21 주식 티피씨글로벌 차트가 너무좋네. 2023.04.16 38797
20 주식 팍스넷 좋은글 2015.08.14 1467
19 주식 한국 주식 사는 외국인 11조, 9개월 째 순매수 file 2016.10.20 1584
18 주식 한국주철관 2017.10.13 4542
17 주식 한국주철관 2016년 놀라운 실적발표에 2017년도 기대만발 file 2017.06.02 4698
16 주식 한국주철관 배당금 수령일 등 1 file 2017.07.05 4897
15 주식 한국주철관 싱크홀 관련주 file 2016.09.11 2391
14 주식 한국주철관 이젠 갈때가 되었다. file 2016.08.31 1539
13 주식 한국주철관 현시점 매수타이밍 file 2014.04.17 3273
12 주식 한창산업 - 아연분말,인산아연,제올라이트,바나듐 생산업체 2023.04.13 38802
Board Pagination Prev 1 ... 7 8 9 10 11 Next
/ 11

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소