2

これがばかげた質問かどうかはわかりませんが、それに関する情報を実際に見つけることができません。実行中のプログラムから以前の印刷ステートメントを削除するかどうか、およびその方法を知りたいです。これはちょっと説明が難しい!コード例を次に示します。

while True:
    x = input('Where would you like to go? ')
    if x == 'home':
        print('You are at home.')
    elif x == 'field':
        print('You are at the field.')
    elif x == 'exit':
        break

そして、このコードはそれほど重要ではありません。ほんの一例です。コードが実行されると、「どこに行きたいですか?」という質問が表示されます。そして、「家」と答えます。次に、print ステートメントは「You are at home.」を出力します。ループは元の質問「どこに行きたいですか?」で再び繰り返されます。

そのテキストはすべて、それが実行されているウィンドウにあり、プログラムで何かをし続けると、それが蓄積され、ウィンドウの下部で入力している場所の上に大量のテキストが表示されます。

このプログラムに質問を実行させる方法はありますか、私は「ホーム」と入力し、コードを実行してからそれ自体を削除し、プログラムが実行されている間ずっと画面の上部に入力を入力しています以前のすべての入力と出力の混乱なしに? この質問をより良い方法で尋ねることができれば、これを編集できます。

4

3 に答える 3

1

毎回端末をクリアする必要があります。Pythonのクリアターミナルから

import os
os.system( [ 'clear', 'cls' ][ os.name == 'nt' ] )
于 2013-01-08T07:43:46.197 に答える
1

スティーブのリスト/ブールハックを使いたくない場合 -

os.system('cls' if os.name == 'nt' else 'clear')
于 2013-01-08T07:58:39.610 に答える
1

これは、スクリプトが実行されている場所によって異なります。ターミナルで実行されている場合は、ターミナルos.systemをクリアするために利用できます。

(Linux):os.system('clear')

(ウィンドウズ):os.system('CLS')

IDLE で実行している場合、最善の方法はclear()、多数の改行を出力する関数を作成することです。IDLE コンソールを実際にクリアする方法は (私が知っている限り) ありません。

于 2013-01-08T07:46:30.243 に答える