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

说明

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

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

开始考单词

(正确会提示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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JasonXu-bit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值