1. ホーム
  2. python

[解決済み] 同じ行に新しい出力を印刷する [重複].

2022-10-19 09:56:18

質問

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

Python3.xで一番簡単な方法はなんでしょうか?

この質問は、Python 2.7では行末にカンマを使用すること、すなわちprint Iで質問されていることを知っていますが、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

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

から 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 となります。