gpt4 book ai didi

python - int 如何评估为 bool 语句?

转载 作者:行者123 更新时间:2023-11-28 22:40:18 26 4
gpt4 key购买 nike

所以最近在Codecademy上学习Python,不小心提交了这个

    def check_bit4(input):
if 0b1000 & input:
return "on"
else:
return "off"

作为我的代码,但它应该是这样的(省略了 if 语句中的“> 0 ”)。出于某种原因,上面的代码仍然通过了所有给定的测试用例。

    def check_bit4(input):
if 0b1000 & input > 0:
return "on"
else:
return "off"

最初的提示要求一个函数来检查第四位是否“打开”。据我所知,“&”运算符应该返回一个 int 值而不是 bool 值。那么,我的问题是,为什么第一个程序仍然通过了所有的测试用例?

最佳答案

零被认为是虚假值。其他数字被认为是真值:

>>> bool(1)
True
>>> bool(34)
True
>>> bool(0)
False
如果 input 设置了位,

0b1000 & input 将返回非零值。因此,如果满足该条件,谓词将被视为 true。

参见 Truth Value Testing - Python documentation以获得更精确的真值定义。

关于python - int 如何评估为 bool 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33818739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com