Python编程快速上手》看的太快了,好多基础没彻底掌握,写这个小玩意就当复习巩固一下。开始的时候想着用 string.isalpha() 来判断英文,加入列表,结果不知道为什么中文也进去了。 接着开始写函数来判断,结果........文本里有各种标点,空格,括号,一同瞎忙乎,没啥鸟用。 最后发现还是regex最牛逼,直接全提取出来了。 不过还是收获满满,虽然做了好多无用功,但是对这些基础的更了解了。收获远远大于预期写出来。

用途:

将百度搜索到到英语词汇表,保存为txt文件。自动分解成中文与英文。拼写错误会自动记录在对应日期的txt中。下次继续加入新的生词本中,直到真正掌握。传说中的艾兵浩斯学习法?

import re
import string
import timeFILE_PATH = r'.\小学一年级.txt'
WRONG_WORDS = []
DATE_TIME = time.strftime("%Y-%m-%d", time.localtime())
#数字符号中文大于字母视作中文
def mixed_word(word):english = 0chinese = 0number = 0other = 0for letter in word:if word >= u'\u4e00' and word <= u'\u9fa5':chinese += 1elif word >= u'\u0030' and word <= u'\u0039':number += 1elif (word >= u'\u0041' and word <= u'\u005a') or (word >= u'\u0061' and word <= u'\u007a'):english += 1else:other += 1if english < chinese + number + other:return "chinese"else:return "english"# 判断是否是纯中文
def is_all_chinese(word):for i in word:if not '\u4e00' <= i <= '\u9fa5':return Falsereturn True# 判断是否是纯英文
def is_all_english(word):for i in word:if i not in string.ascii_lowercase+string.ascii_uppercase:return Falsereturn True# 中文转换成unicode
def chinese_to_unicode(word):ret = ''for v in word:ret = ret + hex(ord(v)).upper().replace('0X', '\\u')return ret#生成中英文列表
def get_words():file = open(FILE_PATH, encoding="utf-8").read()ds = re.compile(r'\d{1,3}\.')# chinese = re.compile(r'[,\)\(,……]*[\u4e00-\u9fa5]+\s+[,\)\(,……]*[\u4e00-\u9fa5]*[,\)\(,……]?[\u4e00-\u9fa5]*[,\)\(,……]*[\u4e00-\u9fa5]*[,\)\(,……]*|\d+')chinese = re.compile(r'[…\(\),…]?[\u4e00-\u9fa5]+\s?[…\(\),…\u4e00-\u9fa5]*|\d+')english = re.compile(r'[a-zA-Z]{1,20}\D[a-zA-Z]{1,20}|[a-zA-Z]{1,20}')file = re.sub(ds,"",file)chinese = chinese.findall(file)english = english.findall(file)    return chinese, english#默写开始啦
def spell_words(chinese,english): wrong_times = 0    if len(chinese) == len(english):for i in range(len(chinese)):            spell = input("%s 的英文是:\n"%chinese[i])if spell != english[i] :wrong_times += 1                wrong_txt = open(r'.\%s.txt'%DATE_TIME,'a', encoding="utf-8")wrong_txt.write("%s   %s"%(english[i],chinese[i]))print("答错了,应该是   %s    。这个单词记录到错词本了。"%english[i])elif spell == english[i]:print("真不错,你答对了!")print("一共%i个单词,答对了%i个,错了%i个。"%(len(english),len(english)-wrong_times,wrong_times))else:print("字典数量不符!\n"*10)if __name__ == "__main__":chinese,english=get_words()spell_words(chinese,english)

Python 学习笔记 英语默写软件相关推荐

  1. python学习笔记(一)Python 简单介绍

    Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...

  2. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  3. Python学习笔记:web开发2

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. Python学习笔记:web开发1

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  5. Python学习笔记:访问数据库

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  6. Python学习笔记:SMTP服务器

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  7. Python学习笔记:网络编程

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  8. Python学习笔记:常用内建模块2:collections

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. Python学习笔记(十三)

    Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...

  10. Python学习笔记五:控制语句

    Python学习笔记五:控制语句 Pycharm 开发环境的下载安装配置_项目管理 控制语句 Pycharm 开发环境的使用 Pycharm 下载和安装 激活和选择不同UI 风格 创建项目和初始化配置 ...

最新文章

  1. SLAM和三维重建有什么区别?
  2. Android深度探索读后感第二章
  3. 2017年10月21日普及组 简单单词
  4. debian安装及使用mysql
  5. flask post json_使用Flask构建web项目的代码架构以及技术栈模板(一)
  6. 一路波折----记我的win10环境下scala安装之路,解决命令窗口报错问题
  7. 深入浅出GAMP算法(上): 因子图与消息传递算法
  8. 南油外服-网易游戏测试(外包) 面试
  9. 货币制度 - 异想天开
  10. VUE之多元素组件过渡+动画封装
  11. 项目知识管理体系指南阅读(2)
  12. 提交form表单之前处理数据
  13. 微信小程序 使用canvas画圆形倒计时动画
  14. android学习记录(3)查看Device File Explore
  15. 明势资本黄明明:创新与世界,下一代基础软件的中国突围之路
  16. 四舍六入五成双方法-js版
  17. 中国互联网11个创业派系456创始人名单大全
  18. Android 8.0 WiFi Ap 热点控制接口
  19. 数学建模:预测性模型学习——灰色预测模型(GM(1,1)模型)
  20. 软件园里的流氓(1)——2005年的故事

热门文章

  1. 电驴链接服务器老是无响应,全部服务器无响应!!!
  2. linux系统部署ffmpeg视频转码环境及使用方法
  3. 《HarmonyOS开发 – OpenHarmony开发笔记(基于小型系统)》第1章 OpenHarmony与Pegasus物联网开发套件简介
  4. vue 上传视频到保利威视
  5. table表格标签css固定最后一列方案
  6. JavaWeb-16 (E家园项目案例1)
  7. 基于非结构网格的仿真——太湖之光上的巨大挑战
  8. GDOU geek alan 简单java代码:三个和尚身高问题
  9. 虚拟机建Mac系统步骤
  10. SpringMVC入门案例【三层架构和MVC、SpringMVC的概述和入门程序】(超详细)