在Python3中计数,从无开始作为默认值并运行循环>我得到一个错误

2024-10-02 18:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在这个网站上遇到的第一个问题,我对编码非常陌生。 我从Python开始学习,现在正在这个网站上学习:https://www.py4e.com/ 这与coursera中的课程相同:Python数据结构

我真的很喜欢这门课,我正在做练习9.4。 当我使用我之前提到的网站上的autogrades时,我为练习编写的代码工作得非常完美。但是,在我的计算机中,我收到以下错误消息:TypeError:“>;”在“int”和“NoneType”实例之间不受支持。

代码如下:

name = input("Please enter a file name: ")

try :
    file = open(name)
except :
    print("Incorrect file name:",name)

counts = dict()



for lines in file :
    if not lines.startswith("From ") :
        continue
    else :
        words = lines.split()
        if words[1] not in counts :
            counts[words[1]] = 1
        else :
            counts[words[1]] = counts[words[1]] + 1

diremail = None
countemail = None

for mail, cuenta in counts.items():
    if mail is None or cuenta > countemail :
        diremail = mail
        countemail = cuenta

print(diremail, countemail)

事先非常感谢你的帮助,并为我可能犯的错误感到抱歉


Tags: 代码nameinnoneif网站错误mail
1条回答
网友
1楼 · 发布于 2024-10-02 18:24:27

您为None分配了一个变量,然后尝试将其与int进行比较,这是不允许的

如果要跟踪max,请使用0初始化它,并保留较大的值

diremail = None
countemail = 0

for mail, cuenta in counts.items():
    if mail is None or cuenta > countemail :
        diremail = mail
        countemail = cuenta

相关问题 更多 >