Python print で改行させないためのキーワード引数指定

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

Python print で改行させないためのキーワード引数指定1

※ Python 3.14.0 を使用します。
※プログラムは自己責任でご利用ください。

Python3 のインストール

以下の記事を参照してください。

スクリプト例

以下は、 Y, y, N, n のいずれかを入力されると、Yes または No が入力されたことを表示するスクリプトです。
それ以外の正しくない入力では質問を繰り返します。

4行目で end=” を指定して、その print 文の末尾では改行せずに、次の行の input() で入力を待つように動作します。

Python print で改行させないためのキーワード引数指定2

実行する場合は、以下のスクリプトを .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(*objectssep=’ ‘end=’\n’file=Noneflush=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 文に指定したメッセージのあとに改行せずに、ユーザー入力を待つようにできました。

Python print で改行させないためのキーワード引数指定1
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>

まとめ

  • キーワード引数 end のデフォルト値 ‘\n’(改行)を ”(空文字列) で上書きすることで、Pythonprint 文の末尾改行しない出力が行えます。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました