Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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 If和语句等于True,但应为False_Python_Django - Fatal编程技术网

Python If和语句等于True,但应为False

Python If和语句等于True,但应为False,python,django,Python,Django,因此,我有以下代码: if old_size < new_size and date_exceeded and usage(user) < new_size: unset_date_exceeded() 请注意,usage(user)>>nS=536870912 >>>用法=908811325 >>>dE=“2013-04-22 10:27:08+00:00” >>>oS

因此,我有以下代码:

if old_size < new_size and date_exceeded and usage(user) < new_size:
    unset_date_exceeded()
请注意,usage(user)False,但由于某些原因,结果不是这样的

我想也许我不明白
是如何工作的,但是如果我在python shell中尝试这个,我就无法复制它,而是得到预期的结果:

>>> oS=         262144000
>>> nS=         536870912
>>> usage=       908811325
>>> dE="2013-04-22 10:27:08+00:00"
>>> oS < nS and dE and usage < nS
False
操作系统=262144000 >>>nS=536870912 >>>用法=908811325 >>>dE=“2013-04-22 10:27:08+00:00” >>>oS

我很确定我正在失去理智,错过了一个打字错误或什么的,如果是这样的话,我很抱歉,但我被难倒了。

我怀疑你在尝试比较不同的类型(这是允许的,但意义有点无意义)

如果您尝试:

print map(type, (old_size, new_size, date_exceeded, usage(user)))

然后从这里开始…

我怀疑您试图比较不同的类型(这是允许的,但意义有些毫无意义)

如果您尝试:

print map(type, (old_size, new_size, date_exceeded, usage(user)))

然后从那里开始…

是否有可能
用法
不总是返回相同的值?可能只调用一次,然后在日志记录和if语句中使用该值,而不是调用两次。您的
if
语句很好,这些值不能是您认为的值。这不太可能,因为它是幂等的,但因为我已经穷途末路了,我来试一试:在你的测试中你使用
用法
,但在你的代码中你使用
用法(用户)
。那只是为了演示?或者
usage(user)
是否返回了一些不同的值在您的程序中,您是否可以
打印地图(类型,(旧大小、新大小、超出日期、usage(user))
(只是为了确保它肯定不是某个地方的类型错误)是否可能
usage
不总是返回相同的值?可能只调用一次,然后在日志记录和if语句中使用该值,而不是调用两次。您的
if
语句很好,这些值不能是您认为的值。这不太可能,因为它是幂等的,但因为我已经穷途末路了,我来试一试:在你的测试中你使用
用法
,但在你的代码中你使用
用法(用户)
。那只是为了演示?或者
usage(user)
是否在您的程序中返回一些不同的内容,您是否可以
打印地图(类型,(旧大小、新大小、超出日期、usage(user))
(以确保它绝对不是某个地方的类型错误)