def insertNewline(text, length):
'''
This function can only be applied to normal text.
'''
if len(text) <= length:
print(text)
return
elif text[length - 1] == ' ':
print(text[:length - 1])
return insertNewline(text[(length):], length)
elif text[length] == ' ':
print(text[:length])
return insertNewline(text[(length + 1):], length)
else:
i = 0
while text[length + i] != ' ' and text[length + i] != ',' and text[length + i] != '.':
i += 1
if text[length + i] == ' ':
print(text[:(length + i)])
return insertNewline(text[(length + i + 1):], length)
else:
print(text[:(length + i + 1)])
return insertNewline(text[(length + i + 2):], length)
このコードは、通常のテキスト (「,」と「.」のみの単純な英文) で正しく機能します。通常の作文と同じように、各句読点の後には 1 つのスペースしかありません。このコードをより完全なテキストに適用したい場合は、このコードを自分で更新できると思います。質問で必要な「再帰」を使用します。このコードはあなたに役立つはずです。私は Python の専門家ではなく、まだ学習過程にあります。私の答えからあなたが望むものを手に入れることができることを願っています。