#不仅打印最大的子字符串字数也打印那个值是多少,算是看了大佬的思路之后的拓展。 #另外大佬没有考虑完全不匹配的情况,我加了,如果flag为空就打印0,max函数似乎不能用做flag为空的情况。 代码如下

while True:
    try:
        a=str(input())
        b=str(input())
        flag=[]
        for i in range(len(a)):
            for j in range(i+1,len(a)+1):#通过i递增达到一个指针效果,并且越来越短,因为从i到j,因此j只是为1
                if b.count(a[i:j])!=0:#如果有就匹配上,count计数,相同就计数
                    flag.append(a[i:j])
        if flag!=[]:#max(flag)处理不了为空的情况
            c=[]
            for i in flag:
                c.append(len(i))#遍历,将长度放入数组
            print(max(c))#打印最大的那个长度
            print(flag[c.index(max(c))])#因为flag和c下标是一一对应的,所以通过index(max(c))找到那个数最大下标,因此可以打印最大的匹配字符串
        else:
            print(0)#所以单独写一个情况排除空的