2017-05-02 8 views
1

先週金曜日私は、文の中の偶数語のすべてを大文字にし、文の中の各奇妙な語を逆転させる関数を作成するという課題を抱えていました。私は何かを大文字にすることなく、文全体を単純に逆にするために作成したループに対して、同じものをどのように使用するのか、疑問に思っていました。forループを使って文字列を逆順にしますか?

ここで私が書いた機能は次のとおりです。助けを

def the_sentence(words): 
sentence = words 
new_sent = sentence.split(" ") 
for x in range(len(new_sent)): 
    if x % 2 == 0 : 
     new_sent[x] = new_sent[x].upper() 

    else: 
     new_sent[x]=new_sent[x][::-1] 
print(new_sent) 

ありがとう!

+0

あなたは '言葉[:: - 1]を意味しますか'? –

+0

この宿題はありますか?そうでなければ、 'words [:: - 1]'を使わないのはなぜですか? – ktbiz

+0

はい、これはオプションの割り当てです。 – HiroshimaBubbleGum

答えて

2

あなたはパイソン docにname.swapcase().検索文字列のメソッドであることを行うことができます....

をちょうど' '.join(new_sent[::-1])についてsentence[::-1]

1

何を使う文全体を逆にするには?

new_sent[::-1]逆順に、["Hello", "World"]["World", "Hello"]になります。 ' '.join()はリストを文字列に連結します。 Read more here

編集

' '.join([word[::-1] for word in new_sent[::-1]])

+0

申し訳ありませんが、私はより明確にすべきでした。私は、順序だけでなく、言葉自身も逆にしたい。 例: 入力:「これは文である」 出力「ecnetnes A SI sihT」 – HiroshimaBubbleGum

+0

@HiroshimaBubbleGum編集私の答え – user2829759

関連する問題