gpt4 book ai didi

google-app-engine - 为什么这个 Gql 查询不返回 None? (使用 Python 和 App Engine)

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:44 25 4
gpt4 key购买 nike

我正在创建一个数字猜谜游戏来帮助自己学习如何使用 Google 的 App Engine。我将当前答案作为随机数存储在数据存储区中。每次用户猜测我都想在 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)

我得到的是-

“太高了!没有”

为什么此代码返回“无”值?你有什么建议我改变以获得我期望得到的随机数。我一直在关注数据存储的 App Engine Python 文档,但显然我忽略了一些东西。感谢您对此的任何见解。

最佳答案

数据库中可能没有答案。验证它:

msg = "Total answers in database: " + str(Answer.all().count())

在数据库中获取第一个答案的更优雅的方法是:

answer = Answer.all().get()
# or (equivalent)
answer = db.GqlQuery("SELECT * FROM Answer").get()

if answer is not None:
number = answer.ans
else:
number = None

关于google-app-engine - 为什么这个 Gql 查询不返回 None? (使用 Python 和 App Engine),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com