python 华为od 单词接龙

复制代码
sd=['word','dd','da','dc','dword','d']
# 计算出下一个接龙单词
def jl(sd,st):
    # sd.remove(st)
    sd = list(set(sd))
    sends = list(st)[-1]
    lg = []
    sd.sort()
    for i in sd:
        if i.startswith(sends):
            lg.append((i, len(i)))
    if lg==[]:
        return 0,0
    lg.sort(key=lambda x: x[1],reverse=True)
    maxlen = lg[0][1]
    maxlenl = []
    for i in lg:
        if maxlen <= i[1]:
            maxlenl.append(i)
    if len(maxlenl) != 1:
        maxlenl.sort(key=lambda k: k[0])
    sd.remove(maxlenl[0][0])
    return maxlenl[0][0],sd

res=[]
res.append(sd[4])
ld=len(sd)
st=sd[4]
sd.remove(sd[4])
for i in range(0,ld):
    st,sd=jl(sd,st)
    if st:
        res.append(st)
    else:
        break
print(res)
相关推荐
网安-轩逸30 分钟前
回归测试原则:确保软件质量的基石
自动化测试·软件测试·python
Mr_Xuhhh40 分钟前
YAML相关
开发语言·python
咖啡の猫1 小时前
Python中的变量与数据类型
开发语言·python
汤姆yu1 小时前
基于springboot的电子政务服务管理系统
开发语言·python
执笔论英雄2 小时前
【RL】python协程
java·网络·人工智能·python·设计模式
帮帮志3 小时前
【AI大模型对话】流式输出和非流式输出的定义和区别
开发语言·人工智能·python·大模型·anaconda
jquerybootstrap3 小时前
大地2000转经纬度坐标
linux·开发语言·python
Y***89083 小时前
【JAVA进阶篇教学】第十二篇:Java中ReentrantReadWriteLock锁讲解
java·数据库·python
DanB244 小时前
Java(多线程)
java·开发语言·python
战南诚4 小时前
Python函数式编程
开发语言·python