Ad
  • Custom User Avatar

    This solution relies on operators throwing a TypeError to check if the arguments are numbers. Deferring calculation using lambda functions would result in calculator('a','b','+') incorrectly returning "ab" instead of "unknown value".

    That being said, inputs like calculator(3,0,'+') would result in a ZeroDivisionError being thrown instead of the correct answer of 3.