最长数字字符串

题目一 最长数字字符串

给定一个字符串,输出字符串中最长的数字串,并把这个数字串的长度输出。

请一个在字符串中找出连续最长的数字串,并把这个串的长度返回;如果存在长度相同的连续数字串,返回最后一个连续数字串;

注意:数字串只需要是数字组成的就可以,并不要求顺序,比如数字串“1234”的长度就小于数字串“1359055”,如果没有数字,则返回空字符串(“”)而不是NULL!

输入描述:
一个字符串
输出描述:
输出最长的数字串,输出最长数字串个数;
中间以逗号(,)隔开;

示例1
输入
abcd12345ed125ss123058789
输出
123058789,9

备注:
1、如果存在长度相同的连续数字串,则输出最后一个连续数字串;
2、数字串只需要是数字组成的就可以,并不要求顺序,比如数字串“1234”的长度就小于数字串“1359055”;
3、如果没有数字,则输出空字符串(“”)而不是NULL;
解题思路:

首先将数字串拿出来,然后在遍历数字串长度找出最长的值

str_input = raw_input()
str_list = []
str_o = ''
str_input_add = str_input + " "
for i in str_input_add:
    if i.isdigit():
        str_o = str_o + i
    else:
        if str_o:
            str_list.append(str_o)
        str_o = ''
        continue
print str_list

if not str_list:
    print ""
else:
    res = str_list[0]
    for j in str_list:
        if len(j) >= len(res):
            res = j
        else:
            pass
    print res, len(res)

猜你喜欢

转载自blog.csdn.net/Homewm/article/details/95308621