## Task
You need to implement two functions, `xor` and `or`, that replicate the behaviour of their respective operators:

- `xor` = Takes 2 values and returns `true` if, and only if, one of them is truthy.
- `or` = Takes 2 values and returns `true` if either one of them is truthy.

When doing so, **you cannot use the or operator: `||`**.

# Input
- Not all input will be booleans - there will be truthy and falsey values [the latter including also empty strings and empty arrays]
- There will always be 2 values provided

## Examples
- `xor(true, true)` should return `false`
- `xor(false, true)` should return `true`
- `or(true, false)` should return `true`
- `or(false, false)` should return `false`

Source: codewars | Difficulty: EASY
Tags: Fundamentals

Starter code: def func_or(a,b):
	

Solutions:
def func_or(a, b):
	return not bool(a) == bool(b) == False

def func_xor(a, b):
	return not bool(a) == bool(b)


def func_or(a, b):
	return bool(a) | bool(b)

def func_xor(a, b):
	return bool(a) ^ bool(b)


def func_or(a, b):
	return bool(a) + bool(b) > 0

def func_xor(a, b):
	return bool(a) + bool(b) == 1


def func_or(*a):
	return any(a)

def func_xor(*a):
	return any(a) and (not all(a))


def func_or(a, b):
	return bool(a if a else b)

def func_xor(a, b):
	return bool(not b if a else b)


def func_or(a, b):
	return False if not a and (not b) else True

def func_xor(a, b):
	return True if not a and b or (a and (not b)) else False


def func_or(a, b):
	return bool(a) or bool(b)

def func_xor(a, b):
	return bool(a) is not bool(b)


(func_or, func_xor) = (lambda a, b: bool(bool(a) + bool(b)), lambda a, b: bool(a) + bool(b) == 1)


def func_or(a, b):
	if a:
		return True
	else:
		return not not b

def func_xor(a, b):
	if a:
		return not b
	else:
		return not not b