Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将整数与无类型进行比较_Python_Python 3.x - Fatal编程技术网

Python 将整数与无类型进行比较

Python 将整数与无类型进行比较,python,python-3.x,Python,Python 3.x,这是我的教科书中的一个问题,在我的教科书中,你创建了一个程序,在文本文件中生成电子邮件的柱状图(它们总是第二个单词) handle=open(“mbox short.txt”) 发件人={} 对于线输入句柄: 如果line.startswith('From'): 电子邮件=line.split() 如果len(电子邮件)

这是我的教科书中的一个问题,在我的教科书中,你创建了一个程序,在文本文件中生成电子邮件的柱状图(它们总是第二个单词)

handle=open(“mbox short.txt”)
发件人={}
对于线输入句柄:
如果line.startswith('From'):
电子邮件=line.split()
如果len(电子邮件)<3:继续
电子邮件=电子邮件[1]
发件人[电子邮件]=发件人。获取(电子邮件,0)+1
bigsender=无
bigcount=None
对于发件人,发件人中的时间。项()
如果bigcount<次:
大计数=次
bigsender=发送方
打印(bigsender,bigcount)
但当我运行时,它会产生一个错误,它说:

TypeError: '<' not supported between instances of 'NoneType' and 'int'

TypeError:“当您编写
时,如果bigcount为None或bigcount
您有两个单独的条件:
bigcount为None
bigcount
。如果按顺序执行,
bigcount为None
将被评估为
true
。由于
bigcount
没有可能的值会使整行变为假(因为
true或某些布尔值对于
some\u boolean
的任何可能值总是真的),因此求值短路且不会对第二条语句求值,所以永远不会有机会产生类型错误


换句话说,
bigcount
会产生一个错误,因为您无法比较
bigcount
times
,但在第二个示例中,从未计算代码位。

如果
bigcount
None
,然后,条件
bigcount为None或bigcount
计算结果为true,而不检查
bigcount
。看。你可以启动
bigcount=0
(或者
float('-inf')
,如果你必须的话)看@Chris\u Rands,那么我可以使用任何负数,对吗?由于计数总是肯定的,我认为你应该澄清你的答案,当我第一次读到它时,我真的无法理解你的意思
TypeError: '<' not supported between instances of 'NoneType' and 'int'
if bigcount is None or bigcount < times: