私は今日プログラミングを始めましたが、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に印刷行の中のmy(x)を数字として認識させる必要があります。または同じ行に2つの別々のものを印刷します。このような愚かな質問を前もってありがとうございます。
重要な注意事項:バージョン2.5.4を使っています
もう一つの注意:私がprint "Thing" , print "Thing2"
を入れるならば、それは2番目の印刷に「構文エラー」を言います。
Python 3.xでは、print()
関数にend
引数を使用して、改行文字が表示されないようにすることができます。
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
末尾のカンマでも行末にスペースが表示されることに注意してください。つまり、Python 3でend=" "
を使用するのと同じです。スペース文字を抑制するには、次のいずれかを使用できます。
from __future__ import print_function
python 3のprint関数にアクセスするか、sys.stdout.write()
を使用します。
Python 2.xでは、print
ステートメントの最後に,
を追加するだけです。 print
が項目間に置く空白を避けたい場合は、sys.stdout.write
を使用してください。
import sys
sys.stdout.write('hi there')
sys.stdout.write('Bob here.')
収量:
hi thereBob here.
2つの文字列の間に改行または空白スペースがないことに注意してください。
Python 3.xでは、その print()関数 を使えば、ただ言うことができます。
print('this is a string', end="")
print(' and this is on the same line')
そして得る:
this is a string and this is on the same line
sep
と呼ばれるパラメータもあります。これは、Python 3.xで印刷時に設定して、隣接する文字列をどのように分離するかを制御できます(またはsep
に割り当てられた値には依存しません)
例えば。、
Python 2.x
print 'hi', 'there'
与える
hi there
Python 3.x
print('hi', 'there', sep='')
与える
hithere
Python 2.5を使用している場合、これは機能しませんが、2.6または2.7を使用している人々のために、試してみてください
from __future__ import print_function
print("abcd", end='')
print("efg")
になります
abcdefg
3.xを使っている人のために、これはすでに組み込まれています。
あなたは単にする必要があります:
print 'lakjdfljsdf', # trailing comma
しかし:
print 'lkajdlfjasd', 'ljkadfljasf'
暗黙の空白(すなわち' '
)があります。
以下のオプションもあります。
import sys
sys.stdout.write('some data here without a new line')
新しい行が表示されないように末尾のカンマを使用します。
print "this should be"; print "on the same line"
する必要があります:
print "this should be", "on the same line"
さらに、次のようにして、渡される変数を目的の文字列の末尾に追加することができます。
print "Nope, that is not a two. That is a", x
また使用することができます:
print "Nope, that is not a two. That is a %d" % x #assuming x is always an int
%
演算子(modulo)を使用して、文字列のフォーマットに関する追加の ドキュメント にアクセスできます。