我写了一个代码来在下面的代码中断言:
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))
当我使用命令提示符运行(Windows 10,Python 3.6.1(上述代码时:断言工作正常。
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!
但是当我使用崇高的O/P跑步时-
32.0
451
-468.40000000000003
[Finished in 0.3s]
请有人指导我
我尝试过,我得到了与预期相同的断言错误。 您可能正在运行其他版本。 Python shell 和 Python Idle 将采用不同的版本。
似乎你使用的是PyCharm而不是Sublime。我从不使用PyCharm,但你的问题应该是你正在运行"PycharmProjects/ppp/loop.py"项目,其配置打开了PYTHONOPTIMIZE环境变量。此模式将任何断言语句转换为空操作,并且不会被计算。
您应该在 IDE 中检查运行/调试配置。