我已在下面的代码中编写了一个断言代码:
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!
有人指导我
答案 0 :(得分:0)
我试过,我得到了与它应该相同的断言错误。 您可能正在运行其他版本。 python shell和python idle将使用不同的版本。
答案 1 :(得分:0)
似乎您使用的是PyCharm而不是Sublime。我从不和PyCharm合作,但你的问题应该是你正在运行&#34; PycharmProjects / ppp / loop.py&#34;项目,其配置打开PYTHONOPTIMIZE环境变量。此模式将任何assert语句转换为null操作,并且不会被评估。
您应该检查IDE中的运行/调试配置。