2017-07-27 4 views
-1

ディスプレイに表示する文字列のリストを返すメソッドが必要です。例input = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec aliquet lorem ac eros lobortis laoreet."全文を維持しながら文字列を分割する

については

その後の文字列を取り、16の文字と文字列のリストにそれを分割します。しかし、これらの文字列は単語を2つに分割しないように完全な単語でなければなりません。

したがって、期待される出力は["Lorem ipsum", "dolor sit amet,", "consectetur", "adipiscing elit.", "Donec aliquet", "lorem ac eros", "lobortis", "laoreet."]で、各文字列は単語を分割せず、文字列は16文字までしかcharcatersではありません。

私はLCDの上に表示することができます私はちょうど上記の基準を満たす文字列のリストを返すことができるメソッドが必要です。

+1

各文字列を文字列のリストに分割する必要がありますか?すべてのwrdが16文字より長い場合はどうなりますか? –

+1

あなたはすでにどのようなコードを書いていますか?それを質問に編集してください。あなたのlorem ipsumの例から期待される出力は? – barny

+2

あなたの例で期待される出力は '' Lorem ipsum ''、 'dolor sit amet'、 'consectetur'、 'adipiscing elit'、 'Donec aliquet'、 'lorem ac eros'、 'lobortis'、 'laoreet "]'? –

答えて

3

私はこれはそれを行うだろうと考えている。

def split16(str_in): 
    words = str_in.split() 
    y = [words[0] + ' '] 
    index = 0 
    for word in words[1:]: 
     if len(word) + len(y[index]) < 16: 
      y[index] += word + ' ' 
     else: 
      index += 1 
      y.append(word + ' ') 
    return y 

WARNINGこれは何の言葉はあなたが言葉よりももっと上に行きたくないと述べたので、仮定しても安全である16文字以上、ではないと仮定し1行

関連する問題