Complete the function ```caffeineBuzz```, which takes a non-zero integer as it's one argument.

If the integer is divisible by 3, return the string ```"Java"```.

If the integer is divisible by 3 and divisible by 4, return the string ```"Coffee"```

If the integer is one of the above and is even, add ```"Script"``` to the end of the string.

Otherwise, return the string ```"mocha_missing!"```

```python
caffeineBuzz(1)   => "mocha_missing!"
caffeineBuzz(3)   => "Java"
caffeineBuzz(6)   => "JavaScript"
caffeineBuzz(12)  => "CoffeeScript"
```

Source: codewars | Difficulty: EASY
Tags: String algorithms

Fundamentals

Starter code: def caffeineBuzz(n):
	

Solutions:
def caffeineBuzz(n):
	if n % 12 == 0:
		return 'CoffeeScript'
	elif n % 6 == 0:
		return 'JavaScript'
	elif n % 3 == 0:
		return 'Java'
	else:
		return 'mocha_missing!'


def caffeineBuzz(n):
	result = 'mocha_missing!'
	if not n % 3:
		if not n % 4:
			result = 'Coffee'
		else:
			result = 'Java'
		if not n % 2:
			result = ''.join((result, 'Script'))
	return result


def caffeineBuzz(n):
	a = ['mocha_missing!'] * 12
	a[::3] = ['Java'] * 4
	a[::6] = ['CoffeeScript', 'JavaScript']
	return a[n % 12]


def caffeineBuzz(n):
	return ['mocha_missing!', 'Java', 'JavaScript', 'CoffeeScript'][sum([n % 3 == 0, n % 4 == 0, n % 2 == 0])]


caffeineBuzz = lambda n: a[n % 12]
a = 4 * (['Java'] + ['mocha_missing!'] * 2)
a[::6] = ['CoffeeScript', 'JavaScript']


def caffeineBuzz(n):
	return ['mocha_missing!', 'Java', 'Coffee'][(n % 12 == 0) + (n % 3 == 0)] + 'Script' * (n & 1 == 0)


def caffeineBuzz(n):
	coffe = 'mocha_missing!'
	if n % 3 == 0:
		coffe = 'Coffee' if n % 4 == 0 else 'Java'
		coffe = coffe + ('Script' if n % 2 == 0 else '')
	return coffe


import unittest
JAVA = 'Java'
COFFEE = 'Coffee'
SCRIPT = 'Script'
MOCHA_MISSING = 'mocha_missing!'

def caffeineBuzz(n):
	if n % 3 == 0:
		language = JAVA
		if n % 4 == 0:
			language = COFFEE
			if n % 2 == 0:
				language += SCRIPT
		elif n % 2 == 0:
			language += SCRIPT
		return language
	else:
		return MOCHA_MISSING

class TestCaffeineBuzz(unittest.TestCase):

	def test_should_return_java_when_given_n_is_divisible_by_3(self):
		n = 3
		actual = caffeineBuzz(n)
		self.assertEqual(actual, 'Java')

	def test_should_return_coffee_script_when_given_n_is_divisible_by_3_or_divisible_by_and_divisible_by_4_and_divisible_by_2(self):
		n = 12
		actual = caffeineBuzz(n)
		self.assertEqual(actual, 'CoffeeScript')

	def test_should_return_coffee_script_when_given_n_is_divisible_by_3_or_divisible_by_and_not_divisible_by_4_and_divisible_by_2(self):
		n = 6
		actual = caffeineBuzz(n)
		self.assertEqual(actual, 'JavaScript')

	def test_should_return_moch_missing_when_given_n_is_1(self):
		n = 1
		actual = caffeineBuzz(n)
		self.assertEqual(actual, 'mocha_missing!')