1

不適切に動作しているように見える小さなコードがあります。私はPythonが初めてで、何かを見落としていると想像してください。コードは次のとおりです。

bs = ("\b", "\b", "\b", "\b", "\b", "\b", "\b", "\b", "\b");
print "b%ra%rc%rk%rs%rl%ra%rs%rh%r" % bs;
print "b%sa%sc%sk%ss%sl%sa%ss%sh%s" % bs;

これを Powershell で実行すると、出力は次のようになります。

b\x08a\x08c\x08k\x08s\x08l\x08a\x08s\x08h\x08
h

raw ( ) 出力から削除する必要があるように見えるのに、string ( ) 出力を使用すると、なぜ last が にh\b評価されるのですか?h%s%r

4

1 に答える 1

1

;で文字を消去していません。\bあなたは1つのポジションだけをバックアップしています。

そのため、文字は代わりに次の印刷文字で上書きされます。スペースを追加すると機能します:

>>> print "b%sa%sc%sk%ss%sl%sa%ss%sh%s " % bs
于 2013-02-11T21:41:42.153 に答える