继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

UYOU
关注TA
已关注
手记 464
粉丝 86
获赞 459

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

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

  1. 首先下载一个英语字典的单词文本文件

wget https://github.com/dwyl/english-words/blob/master/words_alpha.txt

格式如下

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

程序如下, 加上空行, 总共18行, 轻松搞定

# vi words_compose.pyimport sysfrom itertools import permutations 

words = {}with open('./words_alpha.txt') as file:    for line in file: 
        line = line.strip() 
        words[line] = 1 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 编程

作者:瓦尔特有范

链接:https://www.jianshu.com/p/9a47efeb5c9b


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP