diff --git a/snippets/pad.md b/snippets/pad.md new file mode 100644 index 000000000..8a9f70214 --- /dev/null +++ b/snippets/pad.md @@ -0,0 +1,22 @@ +--- +title: pad +tags: string,beginner +--- + +Pads a string on both sides with the specified character, if it's shorter than the specified length. + +- Use `str.ljust()` and `str.rjust()` to pad both sides of the given string. +- Omit the third argument, `char`, to use the whitespace character as the default padding character. + +```py +from math import floor + +def pad(s, length, char = ' '): + return s.rjust(floor((len(s) + length)/2), char).ljust(length, char) +``` + +```py +pad('cat', 8) # ' cat ' +pad('42', 6, '0') # '004200' +pad('foobar', 3) # 'foobar' +```