1. ホーム
  2. python

[解決済み] Python: printコマンドで改行されないようにする [重複].

2022-05-14 15:10:29

質問

今日からプログラミングを始めたのですが、Pythonでこんな問題が発生しました。かなり間抜けな話なのですが、どうすればいいのかがわかりません。printコマンドを使うと、好きなものを表示した後、違う行にいってしまうのです。例えば

print "this should be"; print "on the same line"

を返すべき。

これは同じ行にあるはずです

を返しますが、代わりに

これは

を同じ行に

より正確には、私が作ろうとしていたプログラムは if で、ある数字が2であるかどうかを教えてくれるプログラムを作ろうとしていました。

def test2(x):
    if x == 2:
        print "Yeah bro, that's tottaly a two"
    else:
        print "Nope, that is not a two. That is a (x)"

しかし、最後の (x) を入力された値として認識せず、正確に "(x)" (括弧付きの文字) と出力します。それを動作させるために、私は書かなければなりません。

print "Nope, that is not a two. That is a"; print (x)

と入力すると、例えば test2(3) と入力すると、次のようになります。

いや、これは 2 ではない。

3

だから私はPythonが印刷行の中に私の(x)を数字として認識するようにする必要があるか、または同じ行に2つの別々のものを印刷する必要があります。 このような愚かな質問で申し訳ありませんが、事前にありがとうございます。

重要な注意事項 : 私は バージョン 2.5.4

もう一つの注意点:もし print "Thing" , print "Thing2" と書くと、2回目の印刷で "シンタックスエラー" と表示されます。

どのように解決するのですか?

Python 3.x を使用すると end の引数に print() 関数で改行文字が出力されないようにします。

print("Nope, that is not a two. That is a", end="")

Python 2.x では、末尾のカンマを使うことができます。

print "this should be",
print "on the same line"

単に変数を表示するだけなら必要ありませんが。

print "Nope, that is not a two. That is a", x

最後のカンマは行末に空白を表示することに注意してください。 end=" " を使うのと同じです。 同様にスペース文字を抑制するには、次のようにします。

from __future__ import print_function

を使って Python 3 の print 関数にアクセスするか、あるいは sys.stdout.write() .