如何将最后一个值与新值进行比较?

Squ*_*.98 3 python

目标:

我的目标是每次运行该函数时将最后一个结果与新结果进行比较。

代码:

starttime = time.time()

def countRows():
    while True:
        #Get number of rows from SQL table
        sqlCursor = sqlConnection.cursor()

        sqlCursor.execute("Select count(*) from SalesOrder")

        rowcount = sqlCursor.fetchone()[0]

        print(rowcount)

        if rowcount != rowcount:
            print("changed")

        time.sleep(10.0 - ((time.time() - starttime) % 10.0))

countRows()
Run Code Online (Sandbox Code Playgroud)

细节:

在这里,我从 SQL 表中获取计数。

这是每 10 秒的输出:

1000
1000
1000
1000
Run Code Online (Sandbox Code Playgroud)

如果将一条记录添加到 sql 表中,则计数显然会更改为1001.

当前代码的问题:

if语句不起作用 - 当数字更改时。它只是打印数字。

题:

虽然该功能每 10 秒运行一次。print("changed")如果值与以前的值不同,如何触发?

Chr*_*aes 5

您正在将相同的变量与其自身进行比较:

if rowcount != rowcount:
Run Code Online (Sandbox Code Playgroud)

您应该使用一个中间变量来存储以前的计数:例如:

prev_rowcount = None
...
if prev_rowcount != None and prev_rowcount != rowcount:
    print("changed")
prev_rowcount = rowcount
Run Code Online (Sandbox Code Playgroud)