diff --git a/challenges/slugify/solutions/python/function/README.md b/challenges/slugify/solutions/python/function/README.md new file mode 100644 index 0000000..4a210fe --- /dev/null +++ b/challenges/slugify/solutions/python/function/README.md @@ -0,0 +1,3 @@ +# slugify/python/function + +Created by [@Mehln](https://github.com/Mehln) on 14 October 2022. diff --git a/challenges/slugify/solutions/python/function/solution.py b/challenges/slugify/solutions/python/function/solution.py new file mode 100644 index 0000000..1d0500b --- /dev/null +++ b/challenges/slugify/solutions/python/function/solution.py @@ -0,0 +1,24 @@ +string = input() + +def isalphanum(character: str)->bool: + is_lowercase_letter = ord(character) >= ord('a') and ord(character) <= ord('z') + is_upper_letter = ord(character) >= ord('A') and ord(character) <= ord('Z') + is_digit = ord(character) >= ord('0') and ord(character) <= ord('9') + return is_upper_letter or is_lowercase_letter or is_digit + +string = string.strip(' ') +string = string.strip('-') +answer = "" +current = "" + +for character in string: + if character == ' ' or (character == '-' and len(current)>0): + answer += current + answer += '-' + current = "" + elif isalphanum(character): + current += character + +answer += current + +print(answer)