An isogram is a word that has no repeating letters, consecutive or non-consecutive. Implement a function that determines whether a string that contains only letters is an isogram. Assume the empty string is an isogram. Ignore letter case.

```python
is_isogram("Dermatoglyphics" ) == true
is_isogram("aba" ) == false
is_isogram("moOse" ) == false # -- ignore letter case
```
```C
is_isogram("Dermatoglyphics" ) == true;
is_isogram("aba" ) == false;
is_isogram("moOse" ) == false; // -- ignore letter case
```

Source: codewars | Difficulty: EASY
Tags: String algorithms

Fundamentals

Starter code: def is_isogram(string):
	

Solutions:
def is_isogram(string):
	return len(string) == len(set(string.lower()))


def is_isogram(string):
	string = string.lower()
	for letter in string:
		if string.count(letter) > 1:
			return False
	return True


def is_isogram(string):
	char_dict = {}
	string = string.lower()
	for char in string:
		if char in char_dict:
			char_dict[char] = char_dict[char] + 1
		else:
			char_dict[char] = 1
	for key in char_dict:
		if char_dict[key] > 1:
			return False
	return True


is_isogram = lambda s: len(set(s.lower())) == len(s)


def is_isogram(string):
	s = set(string.lower())
	if len(s) == len(string):
		return True
	return False


from collections import Counter

def is_isogram(string):
	for x in Counter(string.lower()).values():
		if x > 1:
			return False
	return True


def is_isogram(string):
	result = {char: string.lower().count(char) for char in string.lower()}
	if 2 in result.values():
		return False
	else:
		return True