2017-07-19 6 views
0

私はそれが非常に奇妙なコードだと知っていますが、注意を払わないようにしてください。このような奇妙な方法でこの作業を解決したいだけです。しかし、その過程で、私はこの問題に直面しています。それを修正するのを助けることができますか?私は小さなヒントが必要です... '文字列インデックスが範囲外のPythonモジュール'

in <module> 
    in reverse_alternate 
IndexError: string index out of range 

モジュロに関連付けられているとします。右?


def reverse_alternate(string): 
    a = string.split(' ') 
    new = '' 
    for i, c in enumerate(a): 
     if i % 2 != 0: 
      new += ' ' + c[::-1] + ' ' 
     else: 
      new += c 

    if new[-1] == ' ': 
     a = new[:-1] 
     return a 
    else: 
     return new 
+0

この機能はどのように機能しますか? – Uriel

+0

タスク: '文字列内の他のすべての単語を逆転します' Test.assert_equals(reverse_alternate( "これは本当にこの時間に働くことを願っています...")、 "私はyIllaer希望tiは時間siht ...") –

答えて

1

あなたは何のトークンを持っていない場合は、newが空になってしまうだろう、とのような、それはありません

if len(new) and new[-1] == ' ': 

if new[-1] == ' ': 

を交換してください - 1番目の要素。したがって、これを参照すると、「インデックスが範囲外です」というエラーが発生します。

+0

それは動作します!手伝ってくれてありがとう。私はそれを考え出した。 –

関連する問題