簡體   English   中英

你如何在Python中獲得兩個變量的邏輯NAND

[英]How do you get the logical NAND of two variables in Python

所以,我正在用 Python 繼續我的 Giraffe 程序(不要問),我正在制作一個函數,可以在 1000 x 1000 的區域中生成 50 棵隨機樹。

我需要確保樹 2 的 x 和 y 都與樹 1 的 x 和 y 不同。 這需要一個與非門。 我可以接受其中一個相同,我可以接受兩者都不相同,但不能接受兩者相同。 我似乎找不到任何關於在 python 中制作 NAND 門的信息。 我可以定義一個函數來制作 NAND。 任何人都可以幫忙嗎?

由於 NAND 是和的否定,我假設

not (a and b ) 

應該完全工作,以 a 和 b 作為輸入還是我錯過了什么?。

口譯:

樹 2 的 x 和 y 都與樹 1 的 x 和 y 不同

如:

樹 2 的 x 和 y 與樹 1 的 x 和 y 不同

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

同樣,您也可以使用~(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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM