The most basic encryption method is to map a char to another char by a certain math rule.
Because every char has an ASCII value, we can manipulate this value with a simple math expression. 
For example 'a' + 1 would give us 'b', because 'a' value is 97 and 'b' value is 98.

You will need to write a method which does exactly that - 

get a string as text and an int as the rule of manipulation, and should return encrypted text.
for example:

encrypt("a",1) = "b"

 *Full ascii table is used on our question (256 chars) - so 0-255 are the valid values.*
 
Good luck.

Difficulty: EASY
Starter code: def encrypt(text, rule):
	

Solutions:
def encrypt(text, rule):
	return ''.join((chr((ord(i) + rule) % 256) for i in text))


def encrypt(text, rule):
	return ''.join((chr((ord(c) + rule) % 256) for c in text))


def encrypt(text, key):
	return ''.join((chr(ord(ch) + key & 255) for ch in text))


def encrypt(text, rule):
	return ''.join((chr(ord(c) + rule & 255) for c in text))


def encrypt(text, rule):
	return ''.join([chr((ord(a) + rule) % 256) for a in text])


def encrypt(text, rule):
	return ''.join((chr((ord(x) + rule) % 256) for x in text))


def encrypt(text, rule):
	return ''.join([chr((ord(s) + rule) % 256) for s in text])


def encrypt(text, rule):
	return ''.join(map(lambda x: chr((ord(x) + rule) % 256), text))


def encrypt(text, rule):
	encrypted_text = list(text)
	for i in range(len(encrypted_text)):
		encrypted_text[i] = chr((ord(encrypted_text[i]) + rule) % 256)
	return ''.join(encrypted_text)


def encrypt(text, rule):
	retval = ''
	for sss in text:
		retval += chr((ord(sss) + rule) % 256)
	return retval