文字列内の単語を逆にする関数を書くことを意図しています。したがって、入力が「私は学生です」と出力が「学生は私」となるはずです文字列の開始と終了の検索方法
次のコードをPythonで使用すると、最初に文字列内のすべての文字を逆順にして、単語を逆にして、それらを "最終文"変数に出力します。
私がチェックしている状態はちょうどスペースであるため、最初の単語は印刷されません。つまり、入力が "私は学生です"と私のコードは動作します( "I"の前のスペースに気づく)...ただし、入力は、出力は単に「学生です」
である「私は学生です」されている場合、私はそれが最初の単語に
def reverse(sentence):
count = 0
new_sentence = ''
final_sentence = ''
counter = 0
word = ''
for char in sentence[::-1]:
new_sentence = new_sentence + char
for char in new_sentence:
if char != " ":
count = count + 1
continue
else:
for i in new_sentence[count-1::-1]:
if i != " ":
word = word + i
else:
break
count = count + 1
final_sentence = final_sentence + " " + word
word = ''
print final_sentence
reverse("I am a student")
を逃さないように私は私のIFステートメントを変更する方法を知っておく必要があります
これは正しい方法です。しかし、 "この方法のエラーはどこにあるのですか"は有効な質問のように思えますが、あなたはそれに対処していません。何らかの理由で(教育?)、OPは、彼の方法は完全な答えでは正しく動作しませんなぜあなたはスプリットとして単一引用符を持っている必要はありません –
あなたが取り組むべきように思えるので、彼らは、独自のソリューションですアンロールされます引数。 split()のデフォルト引数は1つの空白です。また、Pythonには既に組み込みのreverseed()関数が付属しています。だから、解決策はように簡単かもしれない:en_Knightが指摘したように、「(.splitは())」私は学生です ' –
が、これはクラスのために実際にある 'リターン「(逆転).join」とこれを実行しようとしていますジョイント、リバース、その他の組み込みのPython関数を使用する必要はありません。ありがとう! – codeNoob