Python でコマンドプロンプトなどの CLI で print 文で出力する際に改行させないためのキーワード引数の指定方法について紹介します。
Yes / No を質問する際の print 文の出力などで改行させたくないときに便利です。

※ Python 3.14.0 を使用します。
※プログラムは自己責任でご利用ください。
Python3 のインストール
以下の記事を参照してください。
スクリプト例
以下は、 Y, y, N, n のいずれかを入力されると、Yes または No が入力されたことを表示するスクリプトです。
それ以外の正しくない入力では質問を繰り返します。
4行目で end=” を指定して、その print 文の末尾では改行せずに、次の行の input() で入力を待つように動作します。

実行する場合は、以下のスクリプトを .py ファイルに保存(例:yes_or_no2.py)してください。
import sys
while True:
print("Y か N を入力(小文字も可)して Enter キーを押してください。[Y/n] ", end='')
choice = input().strip().lower()
if choice == "y":
print("Yes が選択されました。")
break
elif choice == "n":
print("No が選択されました。")
break
else:
print("入力が正しくありません。もう一度入力してください。")
print("選択が完了しました。")
スクリプトの説明
Python の print 文の末尾で改行するのは、キーワード引数 end の既定値が ‘\n’ (改行)だからです。
print("Y か N を入力(小文字も可)して Enter キーを押してください。[Y/n]", end='')
これを end=” と空文字列を設定することで、改行しないように変更できます。
print(*objects, sep=’ ‘, end=’\n’, file=None, flush=False)
objects を sep で区切りながらテキストストリーム file に表示し、最後に end を表示します。sep 、 end 、 file 、 flush を与える場合、キーワード引数として与える必要があります。
組み込み関数 — Python 3.14.0 ドキュメント#print
Yes / No の入力を行うスクリプト例の説明は以下の記事を参照してください。
https://compota-soft.work/wp1/wp-admin/post.php?post=65096&action=edit
テスト
コマンドプロンプトで python アプリを呼び出して、作成した .py ファイル(例:yes_or_no2.py)を実行します。
Windows11 の場合、エクスプローラで .py ファイルのあるフォルダを開いて、アドレスバーで cmd⏎ と入力すると、そのフォルダをカレントディレクトリにしてコマンドプロンプトが開きます。
python yes_or_no2.py
上記のコマンドで実行すると、print 文に指定したメッセージのあとに改行せずに、ユーザー入力を待つようにできました。

Microsoft Windows [Version 10.0.26200.7171]
(c) Microsoft Corporation. All rights reserved.
G:\Dev\Py\Download>python yes_or_no2.py
Y か N を入力(小文字も可)して Enter キーを押してください。[Y/n] y
Yes が選択されました。
選択が完了しました。
G:\Dev\Py\Download>まとめ
参照サイト Thank You!
記事一覧 → Compota-Soft-Press

コメント