Pyhton考单词程序_考单词工具

2023-11-05

说明

首先我们需要一个单词表的文本文档像这样:
在这里插入图片描述(只要单词中没有空格就行)

然后运行程序
选择单词表文件
在这里插入图片描述

开始考单词

(正确会提示Right,错误提示Wrong,一秒钟后清屏)
在这里插入图片描述在这里插入图片描述

代码

main.py

from module.opfile import opfile  #引用文件中的模块
from module.color import ErrP  #引用文件中的模块
from time import sleep
from os import system

word_list = {}  # 单词表
wrong = ''  # 错误单词

f = open(opfile(), 'r', encoding='UTF-8')

# 制作字典
for i in f.read().split('\n'):  # 每个i为每行
    word_list[''.join(i.split(' ')[1:])] = i.split(' ')[0]  # key=列表i除第一项的字符串格式 value=列表i第一项
f.close()

for i in range(len(word_list)):
    if input(list(word_list.keys())[i] + ' >>') == list(word_list.values())[i]:  # 开始考单词
        ErrP('ri')
    else:
        ErrP('er')
        wrong = wrong + list(word_list.values())[i] + ' ' + list(word_list.keys())[i] + '\n'  # 将错误的单词添加到wrong中
    sleep(1)
    system('cls')  # 清屏

f = open('Wrong.txt', 'a')  # 保存
f.write(wrong)
f.close()

print('----------------------')
ErrP('p', wrong[:-1])  # 输出
print('----------------------')
input('...')

在main.py的目录中module文件夹中的文件:

color.py

from ctypes import windll
from sys import stdout


def set_cmd_text_color(color, handle=windll.kernel32.GetStdHandle(-11)):
    Bool = windll.kernel32.SetConsoleTextAttribute(handle, color)
    return Bool


def color(mess, color, enter=True):
    if enter == True:
        set_cmd_text_color(color)  #设置颜色
        stdout.write(mess + '\n')  #输出
        set_cmd_text_color(0x0c | 0x0a | 0x09)  #重置颜色
    else:
        set_cmd_text_color(color)  #设置颜色
        stdout.write(mess)  #输出
        set_cmd_text_color(0x0c | 0x0a | 0x09)  #重置颜色


def ErrP(mode, item=''):
    if mode == 'er':
        color('\aWrong', 0x04)
    elif mode == 'ri':
        color('Right', 0x0a)

opfile.py

import tkinter as tk
from tkinter import filedialog


def opfile():  #打开文件
	root=tk.Tk()
	root.withdraw()
	path=filedialog.askopenfilename()
	return(path)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyhton考单词程序_考单词工具 的相关文章