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
```

Difficulty: introductory

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): 
    return len(set(string.lower())) == len(string)

def is_isogram(string):
    #your code here
    char_dict = {}
    string = string.lower()
    
    for char in string:
        if char in char_dict:
            # increment count of this character
            char_dict[char] = char_dict[char] + 1
        else:
            char_dict[char] = 1
    
    # loop over the characters in dictionary, if any have
    # more than 1 found, this string is not an isogram, so break
    # the loop and function and return False.
    for key in char_dict:
        if char_dict[key] > 1:
            return False
            
    # If no duplicates were found in the loop directly above,
    # this must be an isogram, so return true!
    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

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

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

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