GoogleのAppEngineの使い方を学ぶのに役立つ、数字を推測するゲームを作成しています。現在の回答を乱数としてデータストアに保存します。ユーザーが推測するたびに、GqlQueryで答えを引き出し、ユーザーの推測と比較したいと思います。GqlQueryを使用して回答を取得すると、「なし」が返されます。代わりに、乱数を取得するために変更する理由や内容がわかりません。
ここに答えを保存します-
class Answer(db.Model):
ans = db.IntegerProperty()
ユーザーが新しいゲームを作成するときに乱数を保存する方法は次のとおりです-
thisanswer =(random.randint(1, 100))
answer = Answer(ans = thisanswer)
answer.put()
そして、私はユーザーが推測を提出したときに答えを引き出して、このように彼らの推測と比較できるようにします-
q = db.GqlQuery("SELECT * FROM Answer")
q = q.fetch(1)
for p in q:
answer = p.ans
だから私が試してみると
if guess > answer:
msg = "Too high!"
elif guess < answer:
msg = "Too low!"
など。「高すぎます!」というメッセージが表示されます。毎回。そこで、「高すぎる!」を変更しました。これへのメッセージ-
msg = "Too high! " + str(answer)
そして私が得るものは-
「高すぎる!なし」
このコードが「None」の値を返すのはなぜですか?取得する予定の乱数を取得するために、何を変更することをお勧めしますか。私はデータストアのAppEnginePythonドキュメントをフォローしていますが、明らかに何かを見落としています。これについての洞察に感謝します。