Write a function that accepts two parameters (a and b) and says whether a is smaller than, bigger than, or equal to b.

Here is an example code:
var noIfsNoButs = function (a,b) {
  if(a > b) return a + " is greater than " + b
  else if(a < b) return a + " is smaller than " + b
  else if(a == b) return a + " is equal to " + b
}


There's only one problem...

You can't use if statements, and you can't use shorthands like (a < b)?true:false;

in fact the word "if" and the character "?" are not allowed in the code. 


Inputs are guarenteed to be numbers

You are always welcome to check out some of my other katas:

Very Easy (Kyu 8)
Add Numbers
Easy (Kyu 7-6)
Convert Color image to greyscale
Array Transformations
Basic Compression
Find Primes in Range
No Ifs No Buts
Medium (Kyu 5-4)
Identify Frames In An Image
Photoshop Like - Magic Wand
Scientific Notation
Vending Machine - FSA
Find Matching Parenthesis
Hard (Kyu 3-2)
Ascii Art Generator

Source: codewars | Difficulty: EASY
Tags: Fundamentals

Starter code: def no_ifs_no_buts(a, b):
	

Solutions:
def no_ifs_no_buts(a, b):
	return {a == b: str(a) + ' is equal to ' + str(b), a < b: str(a) + ' is smaller than ' + str(b), a > b: str(a) + ' is greater than ' + str(b)}[True]


def no_ifs_no_buts(a, b):
	return ['%d is smaller than %d', '%d is equal to %d', '%d is greater than %d'][int(a >= b) + int(a > b)] % (a, b)


def no_ifs_no_buts(a, b):
	d = {a < b: 'smaller than', a == b: 'equal to', a > b: 'greater than'}
	return f'{a} is {d[True]} {b}'


def no_ifs_no_buts(a, b):
	compare = {-1: ' is smaller than ', 0: ' is equal to ', 1: ' is greater than '}
	return str(a) + compare[(a > b) - (a < b)] + str(b)


def no_ifs_no_buts(a, b):
	return '{} is {} {}'.format(a, ['{}er than'.format(['great', 'small'][a < b]), 'equal to'][a == b], b)