2017-08-31 13 views
-1

これらの文を次の行に印刷するにはどうすればよいですか?私は\ nを試しましたが、次の行に文を出力する代わりに出力に\ nが表示されています。私はフォーマッタを使いたい。 コードは次のとおりです。次の行に印刷する

formatter = "%r %r %r %r" 

print formatter %(
"I had this thing.\n", 
    "That you could type up right.\n ", 
    "But it didn't sing.\n", 
    "So I said goodnight." 
    ) 
+0

あなたはどのOSを使用していますか? –

+0

Mac OSの場合、私はText Wranglerを使用しています。 – Richa

+2

あなたはこれをpython-3.xとタグ付けしましたが、 'print'文はあなたがpython-2.x上にあることを示唆しています。質問を修正してください。感謝 –

答えて

1

それは代わりに%s%rで働いている:

formatter = "%s %s %s %s" 

print formatter %(
"I had this thing.\n", 
    "That you could type up right.\n ", 
    "But it didn't sing.\n", 
    "So I said goodnight." 
    ) 

%rは、特殊文字をフォーマットすることなくrepr methodを使用しています。

print(repr('\ntext')) 
>>> '\ntext' 

print(str('\ntext')) 
>>> 
text 

をあなたの場合kにする必要があるいくつかの行の生の文字列を確認したら、フォーマッタをこのパターンに変更し、必要に応じて改行を追加するためにr"rawstrings with special characters"+'\n'を使用してください。

formatter = "{}{}{}{}" 

print(formatter.format(
    r"C:\n"+'\n', 
    "That you could type up right.\n", 
    "But it didn't sing.", 
    "So I said goodnight." 
    )) 

# >>>C:\n 
# That you could type up right. 
# But it didn't sing.So I said goodnight.  

print(formatter.format(
    1,2,3,4) 
    )   
# >>> 1234 
+0

ありがとう、thats私は/ nを生データ(%r)を印刷する際に使用することはできないと思うので、次の行に生データを印刷する代替手段は何ですか? – Richa

+0

他のフォーマッタを使用している可能性があります: 'formatter ="%r \ n%r \ n%r \ n%r "'? – PRMoureu

+0

しかし、これは次の行にすべてのフォーマッタを表示します。例えば、 : フォーマッタ= "%r%r%r%r" 印刷フォーマッタ%(1,2,3,4) 印刷フォーマッタ%( "これは持っていました。\ n"、 "右。\ n」は、 『しかし、それは。\ n個を歌っていなかった』、 は 『だから私はおやすみ言った。』 ) 以下の文字列の文は次の行に印刷する必要が – Richa