基本的に、ある人が私のコードを改善するのを手伝ってくれました。問題は、それがまだ完全に失望しており、機能しないことです。私がやりたいことは、 lenRecur.number をリセットして、他の文字列を使用して正しい答えを取得して、関数を再度使用できるようにすることです(大きすぎない答え)
問題は hasattr にあると思います。しかし、削除することはできません。削除すると、文字列の長さの計算機が機能しなくなるからです。
とにかく、関数の後に lenRecur.number = 0 を追加しても、まだ機能しません。
関数が「return」にヒットすると、それは完了です。「戻る」前にリセットすると0が返ってきて正解ではないので困っています。
def lenRecur(aStr):
if not hasattr(lenRecur, 'number'):
lenRecur.number = 0
'''
aStr: a string
returns: int, the length of aStr
'''
if aStr == '':
return lenRecur.number
else:
lenRecur.number += 1
return lenRecur(aStr[:-1])
Ps私のプログラム(?)/スクリプト(?)の目標は、input()メソッドを使用せずに入力文字列の長さを測定することです。より原始的な手段を使用して、 length() メソッドを再作成しようとしています。
スクリプトにはさまざまな入力が必要になるため、リセットする必要があります。