输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)
本题含有多组样例输入。
数据范围:字符串长度 , 保证每组输入都至少含有一个数字
输入一个字符串。1<=len(字符串)<=200
输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。
abcd12345ed125ss123058789 a8a72a6a5yy98y65ee1r2
123058789,9 729865,2
样例一最长的数字子串为123058789,长度为9 样例二最长的数字子串有72,98,65,长度都为2
import re ls = [] while True: try: ls.append(input()) except: for s in ls: temp = re.findall('\d+',s) lenth = max(len(x) for x in temp) res = '' for i in temp: if len(i)==lenth: res += i print(res,lenth,sep=',') break
while True: try: a = input() vis = [0]*len(a) for i,j in enumerate(a): if j.isdigit(): vis[i] = vis[i-1] + 1 else: vis[i] = 0 Lmax = max(vis) for n,m in enumerate(vis): if m == Lmax: print(a[n-Lmax+1:n+1],end='') print(",{}".format(Lmax)) except: break
import re while True: try: text = input() t = re.findall(r'\d+',text) t2 = max([len(i) for i in t]) for i in t: if len(i) == t2: print(i,end='') print('',end=',') print(t2) except: break来个正则的
import re while True: try: s = input() res = re.findall('\d*', s) d = dict() for ch in res: d[ch] = len(ch) result_max =max(d.values()) l=[] for ind, val in d.items(): if val == result_max: l.append(ind) print(''.join(map(str,l))+ ',' + str(result_max)) except: break