Types 为什么一个不等式不能转化为布尔值?
我不知道这是一个Sage问题还是Python问题,但这就是问题所在Types 为什么一个不等式不能转化为布尔值?,types,boolean,sage,Types,Boolean,Sage,我不知道这是一个Sage问题还是Python问题,但这就是问题所在 var('k') awPkf(k) = k+7 awPkpf(k) = k+5 batkola(k)=2*(k+1)*awPkpf(k)/((k-2)*awPkf(k)) 当我输入“batkola(4)”时,我得到了预期的45/11。 然而,当我键入“batkola(4)QQ(batkola(4))时,我就成功了。评估键入(batkola(4)):你会得到 sage: type(batkola(4)) <class 's
var('k')
awPkf(k) = k+7
awPkpf(k) = k+5
batkola(k)=2*(k+1)*awPkpf(k)/((k-2)*awPkf(k))
当我输入“batkola(4)”时,我得到了预期的45/11。
然而,当我键入“batkola(4)QQ(batkola(4))时,我就成功了。评估键入(batkola(4))
:你会得到
sage: type(batkola(4))
<class 'sage.symbolic.expression.Expression'>
所以你可以
sage: ("no","yes")[bool(batkola(4)<=4)]
'no'
sage:(“no”,“yes”)[bool(batkola(4)ratkola
函数返回什么?在它上面找不到任何文档-是不是返回了一些奇怪的对象,使比较运算符过载,从而返回字符串而不是bool?对不起,这是我为“batkola”输入的错误“。同样的问题是关于batkola
的,然后它在上面定义了!这看起来不像Python函数定义——应该有lambda
或def
。。。
sage: type(batkola(4))
<class 'sage.symbolic.expression.Expression'>
sage: batkola(4) <= 4
(45/11) <= 4
sage: bool(batkola(4) <= 4)
False
sage: ("no","yes")[bool(batkola(4)<=4)]
'no'