【发布时间】:2019-10-28 16:39:59
【问题描述】:
我在python上做了一个原型代码,看看逻辑是否有效,后来用c++编码。但由于某种原因,python 版本和 c++ 版本返回不同的结果。我无法弄清楚为什么会这样。
我多次检查了这个特殊的逻辑方程,并确保它们完全相同,不包括 (or,||) 和 (and,&&) 之类的差异。
蟒蛇
i = -6
j = -5
pos_i = 0
pos_j = 0
print((i%2==0)and((((i/2)%2==0)and(j%2==0))or(((i/2)%2==1)and(j%2==1))))
c++
int i = -6;
int j = -5;
int pos_i = 0;
int pos_j = 0;
cout << (i%2==0)&&((((i/2)%2==0)&&(j%2==0))||(((i/2)%2==1)&&(j%2==1)));
预期:-
python===> 是的
c++=====> 1
实际:-
python===> 是的
c++=====> 0
【问题讨论】:
-
您是否进行了调试以找出结果开始不同的地方?
-
我很抱歉这是我的一个错误。我刚学了 python,忘记了 i/2 是一个浮点数
-
您从 C++ 中得到
0的输出?我复制并粘贴了您的代码并得到1
标签: python c++ compare logical-operators