これは多くの場所でカバーされていると確信していますが、実行しようとしているアクションの正確な名前がわからないので、実際に調べることはできません。公式のPython本を30分間読んで、これを行う方法を探しています。
問題:文字列を特定の長さの「フィールド」に入れる必要があります。
たとえば、名前フィールドの長さが15文字で、私の名前がJohnの場合、「John」の後に11個のスペースが続き、15文字のフィールドが作成されます。
変数 "name"に入力された文字列に対して機能するためにこれが必要です。
何らかの形式のフォーマットになる可能性が高いことは知っていますが、これを行う正確な方法は見つかりません。ヘルプをいただければ幸いです。
これはformat
を使用すると非常に簡単です。
>>> a = "John"
>>> "{:<15}".format(a)
'John '
ljust
メソッドを文字列で使用 を使用できます。
>>> name = 'John'
>>> name.ljust(15)
'John '
名前が15文字より長い場合、ljust
は切り捨てられないことに注意してください。最終的に正確に15文字にしたい場合は、結果の文字列をスライスできます。
>>> name.ljust(15)[:15]
string = ""
name = raw_input() #The value at the field
length = input() #the length of the field
string += name
string += " "*(length-len(name)) # Add extra spaces
これにより、フィールドの長さが指定された名前の長さ以上であれば、必要な数のスペースが追加されます
最初に文字列の長さを短くする必要があるかどうかを確認してから、フィールドの長さと同じ長さになるまでスペースを追加します。
fieldLength = 15
string1 = string1[0:15] # If it needs to be shortened, shorten it
while len(string1) < fieldLength:
Rand += " "
私の問題のためにこれをホイップしました。stringの長さが指定したmin_lengthより大きくなるまでスペースを追加します。
def format_string(str, min_length):
while len(str) < min_length:
str += " "
return str
name = "John" // your variable
result = (name+" ")[:15] # this adds 15 spaces to the "name"
# but cuts it at 15 characters