「テンプレート」文字列、2つの整数(範囲を作成)、および単語のリストを入力として受け取るWebアプリの「イテレーター」を(GAE経由で)作成しようとしています。ユーザーは、数字を繰り返す文字列に「#」を挿入し、単語を繰り返す文字列に「@」を挿入します。
入力:
template string: "Person#Likes@"
starting integer: 1
ending integer: 3
list of words: "Apples, Bananas, Oranges"
出力:
Person1LikesApples
Person1LikesBananas
Person1LikesOranges
Person2LikesApples
Person2LikesBananas
Person2LikesOranges
Person3LikesApples
Person3LikesBananas
Person3LikesOranges
ユーザーが「次へ」などのタイトルの送信ボタンをクリックしたときに、出力が結果テキストボックスに表示されるようにします。キッカーは、Person1が最初にボタンをクリックしたときに、Person1のアイテムのみを出力に表示することです。次に、2回目にクリックすると、Person2のアイテムのみが表示されます。
ジェネレーターを使用して簡単なPythonプログラムを作成しましたが、これをGoogleAppEngineアプリに組み込むのに問題があります。
これが私の関数です:
def g(f, text, lower, upper, list):
for num in range(int(lower),int(upper)+1):
yield f(text.replace('#', str(num)), list)
def f(text, list):
for i in list:
print text.replace('@', i)
およびその他のコード:
if text and lower and upper and words:
result = g(f, words, lower, upper, list)
self.render_iterator(result=next(result))
(^このコードは、他の値を入力すると結果テキストボックスに「なし」を返しますが、少しいじるとジェネレーター式として認識されます)
私が行方不明になっているこれを行う別の方法はありますか?代わりにGQLとGoogleデータストアを利用する必要がありますか?私のコードをもっと見る必要があるかどうか教えてください。
ありがとう!