상세 컨텐츠

본문 제목

단어공부 앱

python

by bumychoi 2024. 6. 30. 10:39

본문

 

 
 
from tkinter import *
import pandas
import random

current_card = {}
to_learn ={}
BACKGROUND_COLOR = "#B1DDC6"

try:
    data = pandas.read_csv("data//words_to_learn.csv")
except FileNotFoundError:
    original_data = pandas.read_csv("data//french_words.csv")
    print(original_data)
    to_learn = original_data.to_dict(orient="records")
else:
    to_learn = data.to_dict(orient="records")


def next_card():
    global current_card
    global flip_timer
    window.after_cancel(flip_timer)
    current_card = random.choice(to_learn)
    # print(current_card)
    canvas.itemconfig(card_title, text="French",fill="black")
    canvas.itemconfig(card_word, text=current_card["French"],fill="black")
    canvas.itemconfig(card_backgrouund,image=card_front_img)
    flip_timer=window.after(3000,func=flip_card)

def flip_card():
    canvas.itemconfig(card_title,text="English",fill="white")
    canvas.itemconfig(card_word,text=current_card['English'],fill="white")
    canvas.itemconfig(card_backgrouund,image=card_back_img)

def is_known():
    to_learn.remove(current_card)
    print(len(to_learn))
    data = pandas.DataFrame(to_learn)
    data.to_csv("data//words_to_learn.csv",index=False)
    next_card()


window = Tk()
window.title("Flashy")
window.config(padx=50, pady=50,bg=BACKGROUND_COLOR)
flip_timer=window.after(3000,func=flip_card)

canvas = Canvas(width=800,height=526)
card_front_img  =  PhotoImage(file="images\\card_front.png")
card_back_img = PhotoImage(file="images\\card_back.png")
card_backgrouund = canvas.create_image(400,263,image=card_front_img)
canvas.config(bg=BACKGROUND_COLOR,highlightthickness=0)
card_title = canvas.create_text(400,150,text="",font=("Ariel",40,"italic"))
card_word = canvas.create_text(400,263, text="",font=("Ariel",60,"bold"))
canvas.config(bg=BACKGROUND_COLOR ,  highlightthickness=0)
canvas.grid(row=0,column=0,columnspan=2 )

cross_image = PhotoImage(file="images\\wrong.png")
unknow_button = Button(image=cross_image,highlightthickness=0,command=next_card)
unknow_button.grid(row=1,column=0)

check_image= PhotoImage(file="images\\right.png")
know_button = Button(image=check_image,highlightthickness=0,command=is_known)
know_button.grid(row=1,column=1)

next_card()

window.mainloop()


'python' 카테고리의 다른 글

파이썬 기초문법 2  (0) 2024.07.03
파이썬 기초문법  (0) 2024.07.03
기본기 다지기 -예외규정  (0) 2024.06.29
Tomodoro 만들기  (0) 2024.06.25
타이머 만들기  (0) 2024.06.23

관련글 더보기