ホームページ >バックエンド開発 >Python チュートリアル >Python の「input」関数の後の改行挿入を防ぐにはどうすればよいですか?

Python の「input」関数の後の改行挿入を防ぐにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-01 22:28:29506ブラウズ

How Can I Prevent Newline Insertion After Python's `input` Function?

入力関数での改行挿入の削減

Python では、input 関数 (Python 2) および raw_input 関数 (Python 3) のデフォルトの動作) は、ユーザー入力の後に改行を追加します。これは多くの場合望ましいことですが、特定の状況ではこの改行を抑制する必要がある場合があります。

問題:

コード スニペットで示されているように、分割された print ステートメントを使用してテキスト プロンプトを出力します。 input 関数によって、望ましくない改行が挿入される可能性があります。

解決策:

raw_input による改行の挿入を完全に防ぐことはできませんが、効果的に行うことは可能です。 ANSI エスケープ コードの組み合わせを使用して前の行に戻ります。

<code class="python">import sys
print('3[{}C3[1A'.format(len(x) + y))  # noqa</code>

このコードでは:

  • x はユーザー入力の長さです。
  • y は、raw_input() プロンプト文字列の長さです。

エスケープ コードの組み合わせ:

  • ' 33[4C' は、カーソルを 4 スペース右に移動します。
  • ' 33[1A' はカーソルを 1 行上に移動します。

これらを組み合わせることで、カーソルを前の行の末尾に戻すことができ、効果的に によって導入された改行を削除できます。 input.

注:

  • このメソッドはすべての端末で機能するとは限りません。
  • 行を上に移動すると、次の位置にある既存の文字が削除されます。その場所。

以上がPython の「input」関数の後の改行挿入を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。