python输出自定义有起点终点的字典脚本

本文介绍了一个Python程序,该程序能够生成指定长度范围内从起始字符串到终止字符串的所有可能字母组合。支持生成1到6位长度的组合,并在生成过程中显示进度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python3有起点终点的字母字典

生成1-6位自定义有起点终点的字母,数字,字母或数字字典,欢迎大家学习交流。

#输出有起点终点的字母
def zimu(min1,max1):
    try:
        x='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
        m={}
        y={}
        k=0
        u=0
        if len(min1)==len(max1):
            n=len(min1)
            if n==1:
                for a in range(0,52):
                    y[0]=x[a]
                    m[k]=y[0]
                    if min1==m[k]:
                        u=1
                    if max1==m[k]:
                        print(m[k])
                        u=-1
                        break
                    if u==1:
                        print(m[k])
                    if u==0:
                        print('\r'+"距开始剩余进度为:",k,"/",52**1,end="",flush=True)
                    k=k+1
            elif n==2:
                for a in range(0,52):
                    if u==-1:
                        break
                    y[0]=x[a]
                    for b in range(0,52):
                        y[1]=x[b]
                        m[k]=y[0]+y[1]
                        if min1==m[k]:
                            u=1
                        if max1==m[k]:
                            print(m[k])
                            u=-1
                            break
                        if u==1:
                            print(m[k])
                        if u==0:
                            print('\r'+"距开始剩余进度为:",k,"/",52**2,end="",flush=True)
                        k=k+1
            elif n==3:
                for a in range(0,52):
                    if u==-1:
                        break
                    y[0]=x[a]
                    for b in range(0,52):
                        if u==-1:
                            break
                        y[1]=x[b]
                        for c in range(0,52):
                            y[2]=x[c]
                            m[k]=y[0]+y[1]+y[2]
                            if min1==m[k]:
                                u=1
                            if max1==m[k]:
                                print(m[k])
                                u=-1
                                break
                            if u==1:
                                print(m[k])
                            if u==0:
                                print('\r'+"距开始剩余进度为:",k,"/",52**3,end="",flush=True)
                            k=k+1
            elif n==4:
                for a in range(0,52):
                    if u==-1:
                        break
                    y[0]=x[a]
                    for b in range(0,52):
                        if u==-1:
                            break
                        y[1]=x[b]
                        for c in range(0,52):
                            if u==-1:
                                break
                            y[2]=x[c]
                            for d in range(0,52):
                                y[3]=x[d]
                                m[k]=y[0]+y[1]+y[2]+y[3]
                                if min1==m[k]:
                                    u=1
                                if max1==m[k]:
                                    print(m[k])
                                    u=-1
                                    break
                                if u==1:
                                    print(m[k])
                                if u==0:
                                    print('\r'+"距开始剩余进度为:",k,"/",52**4,end="",flush=True)
                                k=k+1
            elif n==5:
                for a in range(0,52):
                    if u==-1:
                        break
                    y[0]=x[a]
                    for b in range(0,52):
                        if u==-1:
                            break
                        y[1]=x[b]
                        for c in range(0,52):
                            if u==-1:
                                break
                            y[2]=x[c]
                            for d in range(0,52):
                                if u==-1:
                                    break
                                y[3]=x[d]
                                for e in range(0,52):
                                    y[4]=x[e]
                                    m[k]=y[0]+y[1]+y[2]+y[3]+y[4]
                                    if min1==m[k]:
                                        u=1
                                    if max1==m[k]:
                                        print(m[k])
                                        u=-1
                                        break
                                    if u==1:
                                        print(m[k])
                                    if u==0:
                                        print('\r'+"距开始剩余进度为:",k,"/",52**5,end="",flush=True)
                                    k=k+1
            elif n==6:
                for a in range(0,52):
                    if u==-1:
                        break
                    y[0]=x[a]
                    for b in range(0,52):
                        if u==-1:
                            break
                        y[1]=x[b]
                        for c in range(0,52):
                            if u==-1:
                                break
                            y[2]=x[c]
                            for d in range(0,52):
                                if u==-1:
                                    break
                                y[3]=x[d]
                                for e in range(0,52):
                                    if u==-1:
                                        break
                                    y[4]=x[e]
                                    for f in range(0,52):
                                        y[5]=x[f]
                                        m[k]=y[0]+y[1]+y[2]+y[3]+y[4]+y[5]
                                        if min1==m[k]:
                                            u=1
                                        if max1==m[k]:
                                            print(m[k])
                                            u==-1
                                        if u==1:
                                            print(m[k])
                                        if u==-1:
                                            break
                                        if u==0:
                                            print('\r'+"距开始剩余进度为:",k,"/",52**6,end="",flush=True)
                                        k=k+1
            else:
                print("请输入1到6位字符串")
            print()       
        else:
            print("请输入相同长度字符串")
    except BaseException:
        print("请输入字母")
min1=input("请输入起始字符串")
max1=input("请输入终止字符串")
zimu(min1,max1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值