Your Goal is to create a function that takes  two strings, a guess and a phone number. 

Based on the guess, the function should display a portion of the phone number:

    guess_my_number('052', '123-451-2345')
    would return the string: '#2#-#5#-2##5'
    
    or
    
    guess_my_number('142', '123-451-2345')
    would return the string: '12#-4#1-2#4#'
    
Order of the guess string should not matter, and should not have duplicates of the ten digitis 0-9. Guess will never be an empty string or contains any other charachters. The phone number will always bea ten digit number in the format ###-###-####.

The default number of 123-451-2345 should be included, but can be overwriten by a different number if supplied at the time of execution.

Difficulty: introductory

Starter code:

def guess_my_number(guess, number = '123-451-2345'):
	

Solutions:
def guess_my_number(guess, number = '123-451-2345'):
    return "".join(c if c in guess+"-" else "#" for c in number)


from re import sub
def guess_my_number(guess, number = '123-451-2345'):
    return sub('[^{}-]'.format(guess), '#', number)

guess_my_number=lambda g,n='123-451-2345':''.join(('#'+c)[c in'-'+g]for c in n)

import re

def guess_my_number(guess, number = '123-451-2345'):
    return re.sub(r'[^-' + guess + ']', '#', number)

def guess_my_number(a, b="123-451-2345"):
    a = set(a + "-")
    return "".join("#" if x not in a else x for x in b)

guess_my_number = lambda guess, number = '123-451-2345': ''.join([x if x in guess or x == '-' else '#' for x in list(number)])

def guess_my_number(guess, number = '123-451-2345'):
    g = set(guess + '-')
    return ''.join(x if x in g else '#' for x in number)

import re
def guess_my_number(guess, number = '123-451-2345'):
    return re.sub("[^{}-]".format(guess),"#",number)

def guess_my_number(guess, number = '123-451-2345'):
    digits = set('0123456789') - set(guess)
    for d in digits:
        number = number.replace(d, '#')
    return number

def guess_my_number(guess, number='123-451-2345'):
    return ''.join(a if a in guess or a == '-' else '#' for a in number)