前提・実現したいこと
print("{0:<8}".format("str") の8の部分を変数にしたいです。
いくつかの文字列を同じ長さに揃えたいのですが、全角と半角があり、上のコードの 8 の部分をlen() * 2 などを使った式にしないといけないのですが、そうすると以下のエラーがでてきます。
発生している問題・エラーメッセージ
ValueError: Invalid format specifier
エラーメッセージ
該当のソースコード
ソースコード
def reguration(rank, name, *args):
print("{0:>4} {1:<(8-len(name))}".format(rank, name), end="")
for item in args:
print("{:>10}".format(item), end="")
print()
これはあるコードの中で使う関数です。これを何度も呼び出して、表を作ります。
試したこと
ここに問題に対して試したことを記載してください。
式の部分を変数にしてみましたが、だめでした。
補足情報(FW/ツールのバージョンなど)
僕は今pythonの勉強中で、学習のためにこのコードを書きました。できるだけ .format() を使った回答をいただけると幸いです。
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 15:29
2018/11/15 15:36
2018/11/16 16:43