我正在创建一个猜数字游戏来帮助自己学习如何使用Google的App Engine。我将当前答案作为随机数存储在数据存储中。每次用户猜测我都想在GqlQuery中找出答案,并与用户猜测进行比较。当我使用GqlQuery来提取答案时,它返回'None',我不知道为什么或者要改变什么来获得随机数。为什么这个Gql查询返回None? (使用Python和App Engine)
这里是我存放了答案 -
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)
和我所得到的是 -
“太高了!无”
为什么这个代码返回“无”的价值?你建议我改变以获得我期望得到的随机数。我一直在关注数据存储的App Engine Python文档,但显然我忽略了一些东西。感谢您对此的任何见解。
似乎奇数重用问:'Q = q.fetch(1)'。尝试'在q.fetch(1)中使用p:'而是省略了前面的语句。 – hyperslug