2017-08-07 6 views
-1

マイコード:文字列の書式設定はinput()関数内では機能しませんか?

new_account = sys.argv[1] 
confirm_new = input("Would you like to add {} to the dictionary?" + 
        "\ny or n\n".format(new_account)) 

これは{}の代わりに変数を配置する文字列をフォーマットしません。どうしたの?

+2

ヒント:どのような文字列'.format'が呼び出されていますか? – jwodder

+3

それは確かです。あなたの2つの文字列が '+'で連結される前に適用されます** –

+5

'+'を削除すると、2つの文字列リテラルは(コンパイル時に)自動的に連結され、コードが機能し、ブート。 –

答えて

1

これは、inputとは関係ありません。それはちょうどそのほかには方法よりも低い優先順位を呼び出しています:

>>> "{}" + "b".format('a') 
'{}b' 

私は複数行の文字列(ちょうど+を省略)がある場合は通常、私はちょうど自動文字列の連結を使用します。

confirm_new = input("Would you like to add {} to the dictionary?" 
        "\ny or n\n".format(new_account)) 
関連する問題