これが正しく機能しないのはなぜですか?私は高度なスライス ([::-1]) オプションを認識していますが、この方法で str を逆にする方法も理解したいと思います。
word = input("Please enter a word to reverse: ")
cut = len(word)
print(word[cut:-cut])
word[cut:-cut]
cut
からまで行く-cut
ことができます。これも書くことができます
word[cut:0]
しかし、ステップはまだ 1 であり、まだ正です。端から前方にスライスし、端に達したので停止します。
これは、どちらの方法でもステップが必要であることを意味しますword[cut:-cut:-1]
。逆方向にインデックスを作成する場合、両方のインデックスを 1 減らす必要があるためword[cut-1:-cut-1:-1]
、 、 またはword[cut-1:-6:-1]
、さらにはword[::-1]
. -1
end パラメータは文字列の最後までマングルされることに注意してください!
負のステップを指定しない限り、スライスは常に前方に進みます。スライスの終了後に開始位置を指定すると、空のスライスのみが生成されます。ネガティブステップが必要です。