считая python 3, начиная с None по умолчанию и выполняя al oop -> я получаю ошибку - PullRequest
0 голосов
/ 28 апреля 2020

Это мой первый вопрос на этом сайте, я супер супер новичок в кодировании. Я начал с Python, и я делаю курс с этого веб-сайта: https://www.py4e.com/ Это тот же курс, что и в Coursera: Python Структуры данных

Мне действительно нравится Конечно, и я делаю упражнение 9.4. Когда я использую автограды с сайта, о котором я упоминал ранее, код, который я написал для упражнения, работает отлично. Однако на моем компьютере появляется следующее сообщение об ошибке: Ошибка типа:> не поддерживается между экземплярами 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)

Большое спасибо заранее за вашу помощь, и извините за ошибки, которые я, возможно, совершил.

1 Ответ

0 голосов
/ 28 апреля 2020

Вы присвоили переменную None, затем попытались сравнить ее с int, что недопустимо.

, если вы хотите отслеживать максимальное значение, инициализируйте его с 0 и оставьте большее значение

diremail = None
countemail = 0

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