十几行 python 搞定女儿的练习题

女儿在做英语练习题, 有一种类型叫做字母组合, 就是将打乱顺序的字母组合成学过的单词, 女儿常常想不出来, 我也经常搔头, 顺序是乱的, 查字典也不好使.

这个难不住程序员, 打开电脑写了十几行 python 程序, 这种问题以后就是小菜一碟了

  1. 首先下载一个英语字典的单词文本文件
wget https://raw.githubusercontent.com/dwyl/english-words/master/words_alpha.txt

格式如下

$ head words_alpha.txt
a
aa
aaa
aah
aahed
aahing
aahs
aal
aalii
aaliis
...
  1. 用 python 写个小程序

程序如下, 除去空行, 十几行代码轻松搞定

# vi words_compose.py
#!/usr/bin/env python3

import sys
from itertools import permutations

words = set()
with open('./words_alpha.txt') as file:
    for line in file:
        line = line.strip()
        words.add(line)

print("total words count {}, find words as below: ".format(len(words)))
inputstr = 'hoiystr'
if(len(sys.argv)>1):
    inputstr = sys.argv[1].lower()

perms = permutations(inputstr)
for p in perms:
    word = ''.join(p)
    if word in words:
        print(word)

  1. 使用方法
    输入参数为乱序的字母串
$ python words_compose.py ipturec
picture
cuprite

$ python words_compose.py oihystr
history
toryish

女儿很满意, 我也乘机自吹了一番, 劝说女儿也学一点 python 编程

拓展阅读

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,029评论 17 410
  • 基于《Python语言程序设计基础(第2版)》 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 ...
    柄志阅读 27,504评论 4 44
  • 前言 ||| 第二章 使用ArcPy编写脚本 Python支持大部分在其他语言中出现的编程结构。在本章内容中,我们...
    muyan阅读 90,187评论 10 55
  • 这次去西藏,我有两个目的,一是看布达拉宫,二是参加雪顿节。因此,火车上小伙伴们约去珠峰大本营我拒绝了,约去林芝我也...
    读云轩札记阅读 286评论 0 0
  • 目标管理 七个人物法确定的人生目标:编程、演讲表达、写作。 2017修炼的首要硬本领:编程(一技之长有稳定的收入来...
    阿M哥阅读 215评论 0 1