Skip to content
파이썬
2023.10.04 23:33

파이썬 랜덤으로 문제풀기 #2

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

파이썬 랜덤으로 문제풀기 #2

이번에는 숫자를 입력하는 방식이 아닌 라디오버튼 선택 후 확인버튼을 눌러 정답을 맞추는 방식입니다.

 

 

 

 


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)
 
# 정답 선택을 위한 라디오 버튼 변수
selected_answer = tk.IntVar()
 
# 정답 선택 라디오 버튼 생성
for i in range(1, 6):
    answer_radio = tk.Radiobutton(frame, text=str(i), variable=selected_answer, value=i)
    answer_radio.grid(row=0, column=i, padx=5)
 
result_label = tk.Label(frame, text="")
result_label.grid(row=1, columnspan=6)
 
# 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():
        user_answer = selected_answer.get()
        if user_answer == answer:
            result_label.config(text="정답을 맞췄어요.")
            play_correct_sound()  # 정답 소리 재생
            show_random_question()
        else:
            result_label.config(text="다시 한번 풀어보세요.")
            play_incorrect_sound()  # 오답 소리 재생
   
    # 하단 GUI 업데이트
    selected_answer.set(0)
    result_label.config(text="")
   
    # 하단 GUI 생성
    question_label.config(text="이미지에 나타난 숫자는 무엇일까요?")
   
    # 확인 버튼 생성 (오른쪽에 위치)
    check_button = tk.Button(frame, text="확인", command=check_answer)
    check_button.grid(row=0, column=6)
 
# 초기 문제 표시
show_random_question()
 
# Tkinter 이벤트 루프 시작
window.mainloop()
 
# pygame 종료
pygame.mixer.quit()

 

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

?

  1. 13
    Nov 2023
    05:45

    파이썬 requestsbeautifulsoup 으로 웹 input에 입력값 대입한 뒤 결과값 파일로 저장하기

    Category파이썬 Views67095
    Read More
  2. 04
    Oct 2023
    23:33

    파이썬 랜덤으로 문제풀기 #2

    Category파이썬 Views79252
    Read More
  3. 04
    Oct 2023
    23:29

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

    Category파이썬 Views75260
    Read More
  4. 15
    Sep 2023
    14:04

    파이썬에서 인식이 잘되는 OCR 종류

    Category파이썬 Views79233
    Read More
  5. 14
    Sep 2023
    22:34

    한우경매낙찰 유튜브 영상의 이미지에서 특정 문자 가져와서 저장하기

    Category파이썬 Views78351
    Read More
  6. 07
    May 2023
    04:17

    python AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector' 해결방법

    Category파이썬 Views47562
    Read More
  7. 21
    Apr 2023
    20:10

    DiffusionWrapper has 859.52 M params.

    Category파이썬 Views37441
    Read More
  8. 25
    Mar 2023
    12:40

    파이썬으로 captCha 분석하여 웹사이트 소스 가져오기

    Category파이썬 Views19085
    Read More
  9. 25
    Mar 2023
    09:40

    파이썬에서 captCha 분석 프로그램을 만들 수 있을까?

    Category파이썬 Views11727
    Read More
  10. 15
    Mar 2023
    04:01

    웹 페이지에서 동적으로 생성되는 데이터 가져오는 방법

    Category파이썬 Views6959
    Read More
  11. 10
    Mar 2023
    14:33

    네이버 주식의 기업정보와 펀더멘탈정보 소스 가져오기

    Category파이썬 Views3367
    Read More
  12. 10
    Mar 2023
    14:09

    네이버 주식에서 종목의 투자정보 자료 가져오기

    Category파이썬 Views2245
    Read More
  13. 04
    Mar 2023
    08:47

    파이썬 변수가 정의되었는지 여부 확인방법코드

    Category파이썬 Views3999
    Read More
  14. 04
    Mar 2023
    08:39

    python class def

    Category파이썬 Views2368
    Read More
  15. 25
    Feb 2023
    12:36

    파이썬 비활성화 된 창 활성화 시키기

    Category파이썬 Views3554
    Read More
  16. 25
    Feb 2023
    12:03

    파이썬으로 비활성화 된 창의 이미지를 캡쳐하는 방법

    Category파이썬 Views4004
    Read More
  17. 24
    Feb 2023
    07:12

    파이썬 비활성화 창 이미지 캡쳐하고 클릭하기

    Category파이썬 Views4020
    Read More
  18. 21
    Feb 2023
    06:32

    파이썬 모듈 업그레이드 명령어

    Category파이썬 Views3629
    Read More
  19. 12
    Feb 2023
    21:16

    파이썬 pyautogui 자주쓰는 이미지 서치 def 지정하기

    Category파이썬 Views5255
    Read More
  20. 12
    Feb 2023
    21:13

    파이썬 pyautogui 화면에 여러개의 동일한 이미지가 있을 때 n번째 이미지 선택하기

    Category파이썬 Views5004
    Read More
Board Pagination Prev 1 2 3 Next
/ 3

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소