Python で文字列を指定された長さにパディングする

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Python では、時々特定の文字で文字列をパディングして、特定の長さにする必要があります。たとえば、文字列を両端に空白でパディングして、特定の長さにすることができます。このチャレンジでは、指定された文字で文字列を両端にパディングする関数を書くことが求められます。文字列が指定された長さより短い場合です。

文字列をパディングする

指定された文字で文字列を両端にパディングする関数 pad(s: str, length: int, char: str ='') -> str を書きます。文字列が指定された長さより短い場合です。この関数は 3 つのパラメータを受け取る必要があります。

  • s: パディングする必要のある文字列
  • length: パディングされた文字列の合計長を指定する整数
  • char: 文字列をパディングするために使用される文字。デフォルト値は空白文字です。

この関数はパディングされた文字列を返す必要があります。

from math import floor

def pad(s, length, char =''):
  return s.rjust(floor((len(s) + length)/2), char).ljust(length, char)
pad('cat', 8) #' cat   '
pad('42', 6, '0') ## '004200'
pad('foobar', 3) ## 'foobar'

まとめ

このチャレンジでは、文字列が指定された長さより短い場合、指定された文字で文字列を両端にパディングする方法を学びました。与えられた文字列を両端にパディングするために、str.ljust()str.rjust() メソッドを使用しました。また、空白文字をデフォルトのパディング文字として使用する方法も学びました。