首页 > 解决方案 > 为什么这段代码不打印表格中的给定行?

问题描述

此代码应遍历数据库中的表并操作数据并以给定格式打印。我需要解释为什么它实际上并没有这样做,运行代码没有做任何事情,有人有什么想法吗?

def count_columns(table_name):
    cur.execute("SELECT * FROM " + table_name)
    for row in cur.fetchall():
        if len(row) == "2":
            print("ID: ", row,[0], "Category: ", row[1])
        elif len(row) == "3":
            print("ID: ", row,[0], "Range: ", row[1], "Category: ", row[2])
        elif len(row) == "4":
            print("ID: ", row,[0], "Systolic: ", row[1], "Diastolic: ", row[2], "Category: "

标签: pythonsqlpython-3.xsqlite

解决方案


因为len(row)永远不会完全等于'2','3''4', 它们是strings

len返回一个整数;如果您删除引号,它可能会起作用。


推荐阅读