条件付き文字列補間

stt106

以下の構文の何が問題になっていますか?私は割り当てるx{diff} short ofあればdiff > 0、それ以外の場合は、空の文字列でなければなりません。

diff = 1
x = f"{diff 'short of' if diff > 0 else ''}"

編集:コメントに基づいて、これを行う正しい方法は次のように思われます:

x = f"{diff} short of" if diff > 0 else ""

ただし、x別の文字列補間も入力する必要があります。

y = f"That's {x} your best"

ここで問題となるのは、xが空の場合、に余分なスペースがあることですyつまり、"That's your best"ではなくy =です"That's your best"文字列補間は自動的にスペースを追加しますか?

Mig82

あなたの質問に:

文字列補間は自動的にスペースを追加しますか?

いいえ。最初のテンプレート文字列の最後に1つのスペースがないだけで、2番目のテンプレート文字列に1つのスペースが多すぎます。使用する:

x = f"{diff} short of " if diff > 0 else ""

そして:

y = f"That's {x}your best"

これで、後の末尾のスペースは、xx空でない場合にのみ追加されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事