# Task

You are given a function that should insert an asterisk (`*`) between every pair of **even digits** in the given input, and return it as a string. If the input is a sequence, concat the elements first as a string. 


## Input

The input can be an integer, a string of digits or a sequence containing integers only. 


## Output

Return a string. 


## Examples
```
5312708     -->  "531270*8"
"0000"      -->  "0*0*0*0"
[1, 4, 64]  -->  "14*6*4"
```

Have fun!

Source: codewars | Difficulty: EASY
Tags: String algorithms

Starter code: def asterisc_it(n):
	

Solutions:
import re

def asterisc_it(s):
	if isinstance(s, int):
		s = str(s)
	elif isinstance(s, list):
		s = ''.join(map(str, s))
	return re.sub('(?<=[02468])(?=[02468])', '*', s)


def asterisc_it(n):
	if type(n) == list:
		n = ''.join((str(i) for i in n))
	if type(n) == int:
		n = str(n)
	return ''.join([a + '*' if int(a) % 2 == 0 and int(b) % 2 == 0 else a for (a, b) in zip(n, n[1:])]) + n[-1]


import re

def asterisc_it(n):
	s = ''.join(map(str, n)) if isinstance(n, list) else str(n)
	return re.sub('([02468])(?=[02468])', '\\1*', s)


def asterisc_it(n):
	raw = [i for i in list(str(n)) if i.isalnum()]
	txt = '{}'.format(raw[0])
	for i in range(len(raw))[1:]:
		if int(raw[i]) % 2 == 0:
			if int(raw[i - 1]) % 2 == 0:
				txt += '*' + raw[i]
			else:
				txt += raw[i]
		else:
			txt += raw[i]
	return txt


def asterisc_it(n):
	n = x(n)
	h = n[1:]
	return n[0] + ''.join([[e, '*' + e][all((not int(e) % 2, not int(n[i - 1]) % 2))] for (i, e) in enumerate(h, 1)])
x = lambda c: str(c) if not type(c) is list else ''.join(map(str, c))


def asterisc_it(n):
	return ''.join(['*' + str(char) if i > 0 and int(''.join(map(str, n))[i - 1] if isinstance(n, list) else str(n)[i - 1]) % 2 == 0 and (int(''.join(map(str, n))[i] if isinstance(n, list) else str(n)[i]) % 2 == 0) else str(char) for (i, char) in enumerate(''.join(map(str, n)) if isinstance(n, list) else str(n))])


def asterisc_it(n):
	asterisk_str = ''
	if type(n) == int:
		n = str(n)
	elif type(n) == list:
		n = ''.join(map(str, n))
	for (i, j) in enumerate(range(1, len(n))):
		asterisk_str += n[i]
		print(i, j)
		if int(n[i]) % 2 == 0 and int(n[j]) % 2 == 0:
			asterisk_str += '*'
	return asterisk_str + n[-1]


def asterisc_it(n_sequence: str) -> str:
	_result = ''
	if type(n_sequence) is int:
		n_sequence = str(n_sequence)
	else:
		n_sequence = ''.join((str(_) for _ in n_sequence))
	for (ix, num) in enumerate(n_sequence):
		if ix < len(n_sequence) - 1:
			if not int(num) % 2 and (not int(n_sequence[ix + 1]) % 2):
				_result += f'{num}*'
			else:
				_result += str(num)
		else:
			_result += str(num)
	return _result


def asterisc_it(n):
	(s, out) = ('', [])
	if type(n) is int:
		s = str(n)
	elif type(n) is list:
		s = ''.join([str(n[x]) for x in range(len(n))])
	else:
		s = str(n)
	return s if len(s) <= 1 else ''.join([s[x] + '*' if int(s[x]) % 2 == 0 and int(s[x + 1]) % 2 == 0 else s[x] for x in range(len(s) - 1)]) + s[-1]


def asterisc_it(n):
	if isinstance(n, list):
		for i in range(len(n)):
			n[i] = str(n[i])
		n_str = ''.join(n)
	else:
		n_str = str(n)
	prev = False
	result = ''
	for s in n_str:
		if int(s) % 2 == 0:
			if prev == True:
				result = result + '*'
			prev = True
		else:
			prev = False
		result = result + s
	return result