web-dev-qa-db-ja.com

同じ行に新しい出力を印刷する

ループした出力を同じ行の画面に印刷したい。

Python 3.xでこれを最も簡単な方法で行うにはどうすればいいですか?

私はこの質問が行の終わりにカンマを使用することによってPython 2.7のために尋ねられたことを知っています、すなわち私を印刷します、しかし私はPython 3.xのための解決策を見つけることができません。

i = 0 
while i <10:
     i += 1 
     ## print (i) # python 2.7 would be print i,
     print (i) # python 2.7 would be 'print i,'

画面出力.

1
2
3
4
5
6
7
8
9
10

印刷したいのは、

12345678910

新しい読者もこのリンクを訪れてください http://docs.python.org/release/3.0.1/whatsnew/3.0.html

91
onxx

help(print)から:

Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file: a file-like object (stream); defaults to the current sys.stdout.
    sep:  string inserted between values, default a space.
    end:  string appended after the last value, default a newline.

endキーワードを使用できます。

>>> for i in range(1, 11):
...     print(i, end='')
... 
12345678910>>> 

最後の改行は自分でprint()する必要があります。ところで、Python 2では末尾のカンマで "12345678910"は得られません。代わりに1 2 3 4 5 6 7 8 9 10を得ます。

156
DSM

* Python 2.x *の場合

改行を避けるために末尾のコンマを使用してください。

print "Hey Guys!",
print "This is how we print on the same line."

上記のコードスニペットの出力は次のようになります。

Hey Guys! This is how we print on the same line.

* python 3.x *の場合

for i in range(10):
    print(i, end="<separator>") # <separator> = \n, <space> etc.

上記のコードスニペットの出力は次のようになります(<separator> = " "の場合)。

0 1 2 3 4 5 6 7 8 9
27
Sourav Badami

提案されたものと同じように、あなたはすることができます:

print(i,end=',')

出力:0、1、2、3、

8
Crane Huang

次のようなことができます。

>>> print(''.join(map(str,range(1,11))))
12345678910
4
Avichal Badaya
print("single",end=" ")
print("line")

これは出力を与えるでしょう

single line

質問のためにuse

i = 0 
while i <10:
     i += 1 
     print (i,end="")
4
Sidharth Menon
>>> for i in range(1, 11):
...     print(i, end=' ')
...     if i==len(range(1, 11)): print()
... 
1 2 3 4 5 6 7 8 9 10 
>>> 

これは、印刷が次の行のプロンプトの後ろで実行されないようにする方法です。

2
J_B_M

同じ行に0からnまでの数字を印刷したい例を見てみましょう。次のコードを使ってこれを行うことができます。

n=int(raw_input())
i=0
while(i<n):
    print i,
    i = i+1

入力では、n = 5

Output : 0 1 2 3 4 
2
shivam gupta