【问题标题】:Counter var doesn't count up计数器 var 不计数
【发布时间】:2021-12-23 20:20:18
【问题描述】:

我正在开发一个计算收件箱中电子邮件总数的函数。一切正常,但它只是不想全部计数。

我有一个数据库,我可以在其中检查用户的电子邮件和用户名。

功能:

@pyqtSlot(str, str)
def checkaantalmail(self, email, wachtwoord):

    cursor.execute("SELECT DISTINCT Naam FROM Klant")
    updatedklant = str(cursor.fetchall())

    credentials = Credentials(email, wachtwoord)
    acc = Account(email, credentials=credentials, autodiscover=True)

    for item in acc.inbox.all().order_by('-datetime_received')[:500]:

        inboxmail = str(item.sender).split("'")
        currentinboxmail = inboxmail[3]

        cursor.execute("SELECT DISTINCT Klant FROM Mail WHERE Mail=?", currentinboxmail)
        currentklant = str(cursor.fetchall())

        remove_characters = ["(",")","'",",","]","["]
        for characters in remove_characters:
            currentklant = currentklant.replace(characters, "")

        counter = 0 

        if currentklant not in updatedklant:
            print("yes")
            print(currentklant)
            counter += 1

    print("total", counter)

cmd 打印:

if: 运行良好并打印当前客户全名

总计数器:打印 1 或 0 取决于最后一封电子邮件是什么

提前致谢。

【问题讨论】:

  • 您正在循环内重置countercounter = 0 应该在循环之外。
  • 去试一试
  • 这确实是解决方案。我怀疑这是一个菜鸟错误

标签: python pyqt exchangewebservices


【解决方案1】:

您正在循环内重置计数器。 counter = 0 应该在循环之外。

——莫里斯·迈耶

@pyqtSlot(str, str)
def checkaantalmail(self, email, wachtwoord):

    cursor.execute("SELECT DISTINCT Naam FROM Klant")
    updatedklant = str(cursor.fetchall())

    credentials = Credentials(email, wachtwoord)
    acc = Account(email, credentials=credentials, autodiscover=True)

    counter = 0 

    for item in acc.inbox.all().order_by('-datetime_received')[:500]:

        inboxmail = str(item.sender).split("'")
        currentinboxmail = inboxmail[3]

        cursor.execute("SELECT DISTINCT Klant FROM Mail WHERE Mail=?", currentinboxmail)
        currentklant = str(cursor.fetchall())

        remove_characters = ["(",")","'",",","]","["]
        for characters in remove_characters:
            currentklant = currentklant.replace(characters, "")

        if currentklant not in updatedklant:
            print("yes")
            print(currentklant)
            counter += 1

            # 15 zou hij op uit moeten komen met jarno@microway
            
    print("total", counter)

【讨论】:

    猜你喜欢
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 2021-08-03
    • 1970-01-01
    相关资源
    最近更新 更多