【单词城堡】给出来字母,要求我们组合成可能的单词--python3

游戏效果
游戏效果如图所示,给出了一个单词的所有字母,'atstle’要求组成正确的单词才能开锁,下面就用代码枚举出所有在有道词典有正确释义的单词。

import requests
# 通过有道词典查询单词是否有效
def searchWord(word):
    youdaourl = ('http://dict.youdao.com/suggest/minisuggest?q=%s')%(word)
    req = requests.get(youdaourl)
    wordTag = ('<![CDATA[%s]]>')%(word)
    if req.text.find(wordTag) != -1:
        return True
    else:
        return False

#得到字符的全排列
def combination(s=''):
    if len(s)<=1:
        return [s]
    sl=[]
    for i in range(len(s)):
        for j in combination(s[0:i]+s[i+1:]):
            sl.append(s[i]+j)
    return set(sl)

def inputword():
    target = input('请输入单词❓:')
    print('\033[5;31mloading...\033[0m')
    list = combination(target)
    arr = []
    for word in list:
        if searchWord(word):
            arr.append(word)

    print('\033[32mload end\033[0m')
    print('\033[0;33m可能组成的单词:\033[0m', arr)

inputword()

效果:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值