Given 2 strings, your job is to find out if there is a substring that appears in both strings. You will return true if you find a substring that appears in both strings, or false if you do not. We only care about substrings that are longer than one letter long.

#Examples:

````
*Example 1*
SubstringTest("Something","Fun"); //Returns false

*Example 2*
SubstringTest("Something","Home"); //Returns true
````
In the above example, example 2 returns true because both of the inputs contain the substring "me". (so**ME**thing and ho**ME**)  
In example 1, the method will return false because something and fun contain no common substrings. (We do not count the 'n' as a substring in this Kata because it is only 1 character long)

#Rules:
Lowercase and uppercase letters are the same. So 'A' == 'a'.  
We only count substrings that are > 1 in length.  

#Input:
Two strings with both lower and upper cases.
#Output:
A boolean value determining if there is a common substring between the two inputs.

Difficulty: introductory

Starter code:

def substring_test(str1, str2):
	

Solutions:
def substring_test(first, second):
    first = first.lower()
    second = second.lower()

    for i in range(len(first) - 2):
        if first[i:i+2] in second:
            return True
    return False

def substring_test(str1, str2):
    str1 = str1.lower()
    str2 = str2.lower()
    return any(
        str1[i:i+2] in str2
        for i in range(len(str1)-1)
    )

def substring_test(a, b):
    if len(a) > len(b): a, b = b, a
    a, b = a.lower(), b.lower()
    return any(a[i:i+2] in b for i in range(len(a) - 1))

def substring_test(*args):
    shorter, longer = sorted((a.lower() for a in args), key=len)
    for b in range(len(shorter) - 1):
        if longer.find(shorter[b:b + 2]) != -1:
            return True
    return False


def substring_test(str1, str2):
    str1, str2 = str1.lower(), str2.lower()
    return any(str1[start:(start + 2)] in str2 for start in range(len(str1) - 1))


def substring_test(str1, str2):
    str1,str2 = str1.lower(),str2.lower()
    s1 = [str1[i:i+2] for i in range(len(str1)-1)]
    s2 = [str2[i:i+2] for i in range(len(str2)-1)]
    return len(set(s1).intersection(s2))>0

from difflib import SequenceMatcher

def substring_test(str1, str2):
    return any(x.size > 1 for x in SequenceMatcher(None, str1.lower(), str2.lower()).get_matching_blocks())

def substring_test(str1, str2):
    str1, str2 = str1.lower(), str2.lower()
    return any(str1.find(str2[i:i+2]) > -1 for i in range(len(str2)-1))

def substring_test(str1, str2):
    a,b = str1.lower(), str2.lower()
    for i in range(len(a)-1):
        if a[i:i+2] in b:
            return True
    return False