我目前收到错误TypeError:' float' object不是可订阅的,因为我使用%除以浮点数。这是我的代码:
def displayBalance(name,ID):
with sqlite3.connect("ATM.db") as db:
cursor = db.cursor()
cursor.execute("select Balance from Atm where CustomerID=?",(ID,))
balance = cursor.fetchone()
newBalance = int(balance[0][0]) % 10
print(newBalance)
现在,我正在尝试使用%divide按钮和我为该用户存储的余额。数量显然是一个实数或浮点数,但我无法弄清楚如何绕过这个TypeError。有任何想法吗?
答案 0 :(得分:1)
balance = cursor.fetchone()
返回带有请求值的tuple
。在您的情况下,您要求提供1个值,因此balance
是包含1个唯一值的元组,使用[0]
进行访问:
newBalance = int(balance[0]) % 10
其他python尝试"下标"价值(即通过索引访问),这是无效的。
或者,您可以直接解压缩您的值:
(balance,) = cursor.fetchone()
然后:
newBalance = int(balance) % 10