欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

十几行Python代码帮女儿搞定练习题

程序员文章站 2022-09-04 22:26:42
女儿在做英语练习题, 有一种类型叫做字母组合, 就是将打乱顺序的字母组合成学过的单词, 女儿常常想不出来, 我也经常搔头, 顺序是乱的, 查字典也不好使. 这个难不住程序员, 打开电脑写了十几行 python 程序, 这种问题以后就是小菜一碟了 首先下载一个英语字典的单词文本文件 wget http ......

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

这个难不住程序员, 打开电脑写了十几行 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.py
import sys
from itertools import permutations 

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

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 编程,最后,给大家推荐一个资源很全的python学习免非解答.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里有资深程序员分享以前学习心得,学习笔记,还有一线企业的工作经验,且给大家精心整理一份python零基础到项目实战的资料,每天给大家讲解python最新的技术,前景,学习需要留言的小细节

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。