Adding and removing dots
level of challenge = 3/10
- Write a function named add_dots that takes a string and adds "." in between each letter.
- For example
calling add_dots("test") should return the string "t.e.s.t".
Then, below the add_dots function,
write another function named remove_dots that removes all dots from a string.
For example
calling remove_dots("t.e.s.t") should return "test".
If both functions are correct,
calling remove_dots(add_dots(string)) should return back the original string for any string.
Hint
- For add_dots you may find the string join method useful.
- If you don't want to use it,
- You can instead iterate over each letter in,
The input while building up a result string that is initially empty.
The remove_dots function is similar.
Either use the string replace method or manually loop over the letters,
keeping ones that aren't ".".
My solution
def add_dots(string):
new_string = ".".join(string)
return new_string
print(add_dots("test"))
def remove_dots(string):
new_string = string
result = new_string.replace(".", "")
return result
print(remove_dots("t.e.s.t"))
print(remove_dots(add_dots("tito")))
Another solution
the longer way
def add_dots(s):
out = ""
for letter in s:
out += letter + "."
return out[:-1] # -> do not show the lest dot
def remove_dots(s):
out = ""
for letter in s:
if letter != ".":
out += letter
return out
the short way
def add_dots(s):
return ".".join(s)
def remove_dots(s):
return s.replace(".", "")
Add your solution in the comment :)
Top comments (8)
My solution is:
Thanks for sharing you can test your solution here: pythonprinciples.com/challenges/
Good job pro :)
Thanks, champion!
Not at all :)
I would prefer to use an extended class of string, it wil be much more reusable.
It is very good, But in my case I did have to follow the instructions
this is link of all challenges I work on it : pythonprinciples.com/challenges/