CMD提示中的不同OP&崇高的Buid

时间:2017-07-23 04:54:49

标签: python python-3.x sublimetext3 assert

我已在下面的代码中编写了一个断言代码:

sed -i.bak -e 's/foo/bar/' -- ${TARGET}
rm ${TARGET}.bak

当我运行(windows 10,python 3.6.1)上面的代码使用命令提示符:assertion正常工作。

def KelvinToFahrenheit(Temperature):
    assert (Temperature >= 0),"Colder than absolute zero!"
    return ((Temperature-273)*1.8)+32

print (KelvinToFahrenheit(273))
print (int(KelvinToFahrenheit(505.78)))
print (KelvinToFahrenheit(-5))

但是当我使用崇高的O / P -

运行时
O/P :
32.0
451

Traceback (most recent call last):
File "assert.py", line 8, in <module>
print (KelvinToFahrenheit(-5))
File "assert.py", line 2, in KelvinToFahrenheit
assert (Temperature >= 0),"Colder than absolute zero!"
AssertionError: Colder than absolute zero!

有人指导我

2 个答案:

答案 0 :(得分:0)

我试过,我得到了与它应该相同的断言错误。 您可能正在运行其他版本。 python shell和python idle将使用不同的版本。

答案 1 :(得分:0)

似乎您使用的是PyCharm而不是Sublime。我从不和PyCharm合作,但你的问题应该是你正在运行&#34; PycharmProjects / ppp / loop.py&#34;项目,其配置打开PYTHONOPTIMIZE环境变量。此模式将任何assert语句转换为null操作,并且不会被评估。

您应该检查IDE中的运行/调试配置。