我是一个Python新手,目前正在使用逻辑运算比较Python和C语言。
我的问题是
(我可以解决Q1 (C中的逻辑运算),谢谢你的意见!)
Q1: C
中的逻辑运算为什么0.7 &&在c代码中0.7不是1吗?我希望它是"正确的",因为
(bool)0.7 is 1 and (bool)0.8 is 1 // This is what I meant, revised after checking the comments, Thank you!
因为0.7和0.8是非零值。
Q2: Python中的逻辑运算
为什么0.7和0.7不在Python的布尔类型中计算出来?这是因为动态规划吗?
请告诉我好吗?
提前谢谢你。
详细说明,从python和c代码:
,我希望
0.7&&0.7
# = 1
。同样,
0.8&&0.8
# = 1
但是我从两个编译器得到的是:
从Python
0.7 and 0.7
Out[46]: 0.7
0.8 and 0.8
Out[47]: 0.8
来自C语言,代码如下:
int main()
{
double a = 0.8;
double b = 0.8;
printf("%f AND %f is %f", a, b, a&&b);
return 0;
}
输出为:0.800000 AND 0.800000 = 0.000000
且a=0.7, b=0.7结果是一样的。(0.800000 AND 0.800000 = 0.000000)
我可以解决Q1 (C中的逻辑运算),谢谢您的意见!
理解Python中计算&;0.7和0.7&;的逻辑操作的任何建议作为0.7不是1(或真)?
Python:
0.7 and 0.7
Out[46]: 0.7
不
0.7 and 0.7
Out[46]: 1 #or true
(在Python中编写条件表达式时似乎很重要…)
关于Q2,我可以在你的帮助下解决:
将%f更改为%d后,我可以从0.7&&0.7得到1 (true),这是我所期望的。
int main()
{
double a = 0.8;
double b = 0.8;
printf("%f AND %f is %d", a, b, a&&b);
return 0;
}