From 9d9753085afaa652d235eb50024f2aeaa957af51 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Sun, 4 Oct 2020 01:53:05 +0300 Subject: [PATCH] Add pad --- snippets/pad.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 snippets/pad.md 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' +```