2016-11-22 11 views
0

私の目標は文字列を再帰的に変更して、長さが48文字を超えると最後の単語が削除されるようにすることです。文字列の長さが48文字を超えていない場合は、それを返します。Python:再帰的に文字列を変更する

これは私の試みです:

def checkLength(str): 
    if len(str) > 48: 
    str = str.rsplit(' ',1)[0] 
    checkLength(str) 
    else: 
    return str 

>は48文字、空の値が長い結果の文字列を渡します。

Pythonでこれを達成する正しい方法は何ですか?また、上記の関数が期待どおりに機能しないのはなぜですか?

+1

また、変数名に 'str'を使用しないでください。これは組み込み型をシャドウします。 –

+0

チップをありがとう!私は未来のことを心に留めておきます。 – Shane

答えて

2
def checkLength(my_str): 
    if len(my_str) > 48: 
    my_str = str.rsplit(' ',1)[0] 
    # you must return the recursive call! 
    return checkLength(my_str) 
    else: 
    return my_str 
関連する問題