まず、sys.stdin
を使用してキーボード入力を取得します。sys.stdin
は標準入力ストリームを表すオブジェクトであり、キーボードからの入力を読み込むために使用されます。
次に、setraw
を使用してキーボード入力を非バッファリングモードに設定します。このモードでは、キーが押されるたびに入力が即座に利用可能になります。
以下に、具体的なコード例を示します。
import sys
import tty
def get_reverse_input():
# キーボード入力を非バッファリングモードに設定
tty.setraw(sys.stdin.fileno())
# キーボードからの入力を逆順で取得
input_chars = []
try:
while True:
# キー入力を1文字ずつ取得
char = sys.stdin.read(1)
# 改行文字が入力されたら終了
if char == '\n':
break
# 入力文字をリストに追加
input_chars.append(char)
finally:
# キーボード入力を元のモードに戻す
tty.setcbreak(sys.stdin.fileno())
# 入力文字を逆順に並び替えて文字列に変換
reverse_input = ''.join(reversed(input_chars))
return reverse_input
# 逆順の入力を取得
reverse_input = get_reverse_input()
print("逆順の入力: ", reverse_input)
このコードでは、get_reverse_input
関数を定義し、キーボードからの入力を逆順に取得します。tty.setraw
を使用して非バッファリングモードに設定し、sys.stdin.read(1)
を使用して1文字ずつ入力を読み取ります。入力が改行文字の場合は処理を終了し、それ以外の場合は入力文字をリストに追加します。最後に、reversed
を使用して入力文字を逆順に並び替え、文字列に変換します。
上記のコードを実行すると、キーボードからの入力を逆順に表示することができます。この方法を使用すると、任意の長さの入力に対して逆順の処理を行うことができます。