你如何在Python中获得两个变量的逻辑NAND

时间:2013-12-17 17:09:12

标签: python variables logical-operators

所以,我用Python继续我的长颈鹿计划(不要问),我正在制作一个在1000乘1000区域内制作50个随机树的功能。

我需要确保树2的x和y都与树1的x和y不同。这需要NAND门。我没关系,其中一个是相同的,我没关系,但两个都不一样。我似乎无法找到任何关于在Python中制作NAND Gates的东西。我很好定义一个制作NAND的功能。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:12)

由于NAND是否定的,我会假设

not (a and b ) 

应该完全正常工作,a和b作为输入还是我会错过什么?。

答案 1 :(得分:5)

解释

  

树2的x和y都与树1的x和y

不同

如:

  

树2的x和y不同于树1的x和y

return (t1.x, t1.y) != (t2.x, t2.y)

答案 2 :(得分:0)

同样,您也可以使用 ~(a&b)+2,但我不确定您为什么更喜欢它:

opts = [(0,0),(0,1),(1,0),(1,1)]
[print(f"{a} NAND {b} = {~(a&b)+2}") for a,b in opts]
0 NAND 0 = 1
0 NAND 1 = 1
1 NAND 0 = 1
1 NAND 1 = 0