首页 > 解决方案 > CS50:pset8 财务:如何从 SQL 表用户中提取浮动“现金”值?

问题描述

我在买工作。我需要将用户的可用现金与他们想要购买的股票价格进行比较。我尝试从我的 SQL 数据库中提取现金值,得到的是列表中的字典,而不是数值。

我只需要将数值提取为浮点数。稍后,我需要将它与 Python 中的浮点数进行比较。这是我执行的查询,我将结果保存在一个名为 cash 的变量中:

cash = db.execute("SELECT cash FROM users WHERE id = :id", id=session["user_id"])

结果,这就是我得到的:

[{'cash': 10000}]

另一个问题是,为什么我会在列表中得到看起来像字典的东西?

有人可以阐明一下吗?提前致谢!

标签: financecs50

解决方案


我终于提取了所需的数据。首先,我执行了我的 SQL 查询并将其结果(列表中的 dict)保存在一个名为“row”的变量中:

row = db.execute("SELECT * FROM users WHERE id = :id", id=session["user_id"])

而且,在那之后,我在一个新的变量“cash”中存储了我的dict中的适当值,其键为“cash”的值:

cash = float(row[0]["cash"])

所以,现在我将我想要的值存储在一个名为“cash”的变量中作为一个浮点数。


推荐阅读