StringPropertyの値(文字列として)を取得しようとしていますが、成功しません。 私はそれを繰り返し処理する必要があり、iterableではないので、プロパティを反復しようとするとエラーが発生します。 StringPropertyをPython文字列に変換する方法、または反復処理が可能でlenがあるものに変換する方法はありますか?StringPropertyを反復する
EDIT:
これは私が問題を抱えている種類を宣言する方法:
class Game(ndb.Model):
"""Game object"""
target = ndb.StringProperty(required=True)
attempts_allowed = ndb.IntegerProperty(required=True)
attempts_remaining = ndb.IntegerProperty(required=True, default=5)
game_over = ndb.BooleanProperty(required=True, default=False)
user = ndb.KeyProperty(required=True, kind='User')
users_word = ndb.StringProperty(required=True)
最後のプロパティは、私が反復処理する必要があるものです。そして、これはエラーを発生させる機能である:
@classmethod
def update_users_word(self, letter):
word_as_list = list(self.users_word)
print ("String is: " + str(getattr(self, 'users_word')))
for pos in self.find_letter_positions_in_word(letter, self.target):
word_as_list[pos] = letter
self.users_word = ''.join(word_as_list)
が、これは正確なエラーです:これは今
デバッグヘルプ(「なぜこのコードは機能していませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:最小、完全、および検証可能な例を作成する方法。 –
StringProperty *は文字列であり、それを反復処理できます。問題がある場合は、実際のコードとエラーを投稿する必要があります。 –
[これを知る唯一の人物であるため、**解説** **特定の問題またはエラーと**再現に必要な**最短コード**(http://stackoverflow.com/help/mcve)を参照してください。問題は、 'str'または' unicode'タイプなので、おそらくあなたの**コードは間違っています。 –