Python判断字符串中连续最长的递增英文字母串

在字符串中找出连续最长的递增英文字母串(26个字母,不区分大小写),把这个字母串的长度作为函数值返回。如字符串“dgefgfg455cd5556bcd45”,可以得出最长的连续递增字母是"efg"和"bcd",所以返回3。

testStr=input()    ##输入一个字符串
ls=[]              ##定义一个空列表用于将非字母的部分转换为'.',然后存到这个列表中
numLs=[]           ##用于存放连续字母的长度的空列表
for i in range(len(testStr)):    ## 遍历输入字符串的索引
    if testStr[i].isalpha():     ## 如果字符是字母
        ls.append(testStr[i])    ## 将其添加到列表ls中
    else:                        ## 否则
        ls.append('.')           ## 添加一个'.'到列表中
tempStr = ''.join(ls).lower()    ## 将列表ls的值聚合成一个字符串
tempLs = tempStr.split('.')      ## 将此字符串以'.'进行分割并添加到列表tempLs中
tempLs = [i for i in tempLs if i != '']  ## 过滤出不为空的值到列表tempLs中
for i in tempLs:                 ## 遍历列表tempLs  
    count = 1                    ## 定义一个计数器
    for j in range(len(i)-1):    ## 遍历列表中的字符串的索引值减1
        if ord(i[j])+1 == ord(i[j+1]):   ##  如果该字母的ASCII码等于后一个字母的ASCII码加1,也就是前一个字母跟后一个字母是否连续
            count += 1           ## 计数器加1
            numLs.append(count)  ## 将计数器的值添加的列表numLs中
        else:                    ## 否则
            count = 1            ## 计数器恢复为1
print(max(numLs))                ## 输出最终结果
发布了124 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lm236236/article/details/89473104
今日推荐