Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Compare Functions by tokiojapan55
def checkio(f,g):
def h(*args,**kwargs):
f_e = g_e = False
try: f_r = f(*args, **kwargs)
except: f_e = True
try: g_r = g(*args, **kwargs)
except: g_e = True
if (f_e or f_r==None) and (g_e or g_e==None): return (None, 'both_error')
if f_e or f_r==None: return (g_r, 'f_error')
if g_e or g_r==None: return (f_r, 'g_error')
if f_r != g_r: return (f_r, 'different')
return (f_r, 'same')
return h
June 2, 2020