if len(scanned_code) <= 12:
# 13桁にゼロ埋め
scanned_code = f"{int(scanned_code):013d}"
pythonにおいて桁数が12以下のintに対して
13桁の数値の文字列に変換したいときは
上記のような記述になるそうですが、
これに似たような処理で
10文字以下のstrを格納した文字列を
かならず10文字になるように文字列のひだりに
" "、空白の文字を複数個追加するような
コードはfを使った場合、どのようなものになるのでしょうか?
`f` を使って、
10文字以下の文字列を左側に空白を追加して 10 文字にするには、
`str.rjust()` の代わりに
`f` 文字列の `:>10` を使うと便利です。
### コード例:
```python
scanned_code = "abc" # 例: 3文字の文字列
# f文字列を使って10文字になるように左側に空白を追加
formatted_code = f"{scanned_code:>10}"
# 空白が追加されて10文字になっていることを確認
print(repr(formatted_code))
```
### 実行結果:
```
' abc'
```
#### 解説:
- `:>10` の部分で、**右寄せ** (`>`)、
幅10 (`10`) にフォーマット。
- `scanned_code` の長さが 10 より短い場合、
**自動的に左側に空白が追加** される。
- `scanned_code` の長さが 10 以上なら、そのまま出力。
この方法は `rjust(10)` と同じ動作をしますが、`f`
文字列で直感的に書ける点がメリットです。
コメント
コメントを投稿