最长数字字符串

题目一 最长数字字符串

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

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

注意:数字串只需要是数字组成的就可以,并不要求顺序,比如数字串“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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值