parent
293d25f643
commit
a732fc342c
@ -1,39 +0,0 @@
|
||||
import tkinter as tk
|
||||
import csv
|
||||
import random
|
||||
|
||||
|
||||
# 从CSV读取数据
|
||||
def read_words_from_csv(file_path):
|
||||
with open(file_path, 'r', encoding='utf-8') as csvfile:
|
||||
reader = csv.reader(csvfile)
|
||||
next(reader) # 跳过表头
|
||||
return list(reader)
|
||||
|
||||
|
||||
# 随机选取固定数量的单词
|
||||
def select_random_words(words, count=5):
|
||||
return random.sample(words, count)
|
||||
|
||||
|
||||
# 创建并显示单词
|
||||
def display_words(window, words):
|
||||
for index, (number, word) in enumerate(words, start=1):
|
||||
tk.Label(window, text=f"{number}: {word}", font=("Arial", 12)).pack(pady=5)
|
||||
|
||||
|
||||
# 主程序
|
||||
def main():
|
||||
# 读取单词
|
||||
words = read_words_from_csv('words.csv')
|
||||
|
||||
window = tk.Tk()
|
||||
window.title("单词学习器")
|
||||
|
||||
tk.Button(window, text="开始背单词",
|
||||
command=lambda: display_words(tk.Toplevel(), select_random_words(words, 5))).pack(pady=10)
|
||||
window.mainloop()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
@ -1,33 +0,0 @@
|
||||
# -*- coding: gbk -*-
|
||||
import pymysql
|
||||
import pandas as pd
|
||||
# -*- coding: <encoding name> -*-
|
||||
|
||||
|
||||
db_config = {
|
||||
'host': 'localhost',
|
||||
'port': 3306,
|
||||
'user': 'root',
|
||||
'password': '21412030117',
|
||||
'database': 'word',
|
||||
'charset': 'utf8mb4',
|
||||
}
|
||||
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**db_config)
|
||||
cursor = connection.cursor()
|
||||
extracted='data.csv'
|
||||
data_to_insert= pd.read_csv(extracted)
|
||||
|
||||
|
||||
for item in data_to_insert:
|
||||
xuhao, neirong = item
|
||||
insert_sql = "INSERT INTO word (xuhao, neirong) VALUES (%s, %s)"
|
||||
cursor.execute(insert_sql, (xuhao, neirong))
|
||||
|
||||
|
||||
connection.commit()
|
||||
print("数据插入成功!")
|
||||
except Exception as e:
|
||||
print(f"数据插入失败,错误信息:{e}")
|
@ -1,32 +1,33 @@
|
||||
import tkinter as tk
|
||||
from tkinter import messagebox
|
||||
|
||||
# 单词列表
|
||||
words = ["apple", "banana", "cherry", "date", "elderberry"]
|
||||
|
||||
class WordApp(tk.Tk):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.title("单词学习")
|
||||
self.current_word_index = 0
|
||||
self.word_label = tk.Label(self, text="", font=("Helvetica", 20))
|
||||
self.word_label.pack(pady=20)
|
||||
self.create_buttons()
|
||||
|
||||
def create_buttons(self):
|
||||
self.know_button = tk.Button(self, text="认识", command=self.show_next_word, width=10)
|
||||
self.not_know_button = tk.Button(self, text="不认识", command=self.show_next_word, width=10)
|
||||
self.know_button.pack(side=tk.LEFT, padx=10, pady=10)
|
||||
self.not_know_button.pack(side=tk.RIGHT, padx=10, pady=10)
|
||||
|
||||
def show_next_word(self):
|
||||
if self.current_word_index < len(words):
|
||||
self.word_label.config(text=words[self.current_word_index])
|
||||
self.current_word_index += 1
|
||||
else:
|
||||
messagebox.showinfo("结束", "所有单词已学习完毕!")
|
||||
self.destroy()
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = WordApp()
|
||||
app.mainloop()
|
||||
# -*- coding: gbk -*-
|
||||
import pymysql
|
||||
import pandas as pd
|
||||
# -*- coding: <encoding name> -*-
|
||||
|
||||
|
||||
db_config = {
|
||||
'host': 'localhost',
|
||||
'port': 3306,
|
||||
'user': 'root',
|
||||
'password': '21412030117',
|
||||
'database': 'word',
|
||||
'charset': 'utf8mb4',
|
||||
}
|
||||
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**db_config)
|
||||
cursor = connection.cursor()
|
||||
extracted='words.csv'
|
||||
data_to_insert= pd.read_csv(extracted)
|
||||
|
||||
|
||||
for item in data_to_insert:
|
||||
xuhao, neirong = item
|
||||
insert_sql = "INSERT INTO word (xuhao, neirong) VALUES (%s, %s)"
|
||||
cursor.execute(insert_sql, (xuhao, neirong))
|
||||
|
||||
|
||||
connection.commit()
|
||||
print("数据插入成功!")
|
||||
except Exception as e:
|
||||
print(f"数据插入失败,错误信息:{e}")
|
@ -1,47 +0,0 @@
|
||||
import tkinter as tk
|
||||
import csv
|
||||
import random
|
||||
from struct import pack
|
||||
|
||||
|
||||
# 从CSV读取数据
|
||||
def read_words_from_csv(file_path):
|
||||
with open(file_path, 'r', encoding='utf-8') as csvfile:
|
||||
reader = csv.reader(csvfile)
|
||||
next(reader) # 过表头
|
||||
return list(reader)
|
||||
|
||||
# 随机选取固定数量的单词
|
||||
def select_random_words(words, count=5):
|
||||
return random.sample(words, count)
|
||||
|
||||
# 创建并显示单词及按钮
|
||||
def display_words(window, words, word_index, total_words):
|
||||
if word_index < total_words:
|
||||
number, word = word_index + 1, words[word_index][1]
|
||||
tk.Label(window, text=f"{number}: {word}", font=("Arial", 12)).pack(pady=5)
|
||||
tk.Button(window, text="认识", command=lambda: next_word(window, word_index +1)).pack(side=tk.LEFT, padx=10, pady=5)
|
||||
tk.Button(window, text="不认识", command=lambda: next_word(window, word_index)).pack(side=tk.RIGHT, padx=1, pady=5)
|
||||
else:
|
||||
tk.Label(window, text="所有单词已显示完毕", font=("Arial", 14, 'bold')).pack()
|
||||
|
||||
def next_word(window, word_index, total_words):
|
||||
window.destroy()
|
||||
new_window = tk.Toplevel()
|
||||
new_window.title("单词学习")
|
||||
display_words(new_window, word_index, total_words)
|
||||
|
||||
# 主程序
|
||||
def main():
|
||||
# 读取单词
|
||||
words = read_words_from_csv('words.csv')
|
||||
window = tk.Tk()
|
||||
window.title("单词学习器")
|
||||
tk.Button(window, text="开始背单词",
|
||||
command=lambda: display_words(tk.Toplevel(), 0, len(words))),
|
||||
pack(pady=10)
|
||||
window.mainloop()
|
||||
|
||||
|
||||
if __name__=='__main__':
|
||||
main()
|
Loading…
Reference in new issue