簡體   English   中英

邏輯門:x!= Python中的'減號'或'加號'

[英]logic gate: x != 'minus' or 'plus' in python

在if ... then語句中,我遇到了一種奇怪的語法情況。 不太確定解決方案是什么...

x1 = 'minus'
if x1 == 'minus':
    print('OK')
if x1 != 'minus':
    print('this should not print')

y = {'direction':'minus'}
x2 = y['direction']
if x2 != 'plus' or x2 != 'minus':
    print("huh...")
if x1 != 'plus' or x1 != 'minus':
    print("??")
if x1 == 'plus' or x1 == 'minus':
    print("wait...")
print(x2)
if (x2 != 'plus') or (x2 != 'minus'):
    print("it wasn't the parenthesis...")

print(x2 != 'plus')
print(x2 != 'minus')

print(x2)

輸出為:

>OK
>huh...
>??
>wait...
>it wasn't the parethesis...
>True
>False
>minus

如何在python中創建僅在x != 'minus' or 'plus'時觸發的邏輯門?

如何在python中創建僅在x!='minus'或'plus'時觸發的邏輯門?

x 始終不等於其中的一個(考慮一下:如果它是plus ,則該測試不正確-但是plus不等於minus ,因此另一個測試 true),因此使用or as you have將始終為真!

您可能想要的是這樣的東西:

if not (x == 'minus' or x == 'plus')

應用戴摩根定律,您還可以使用:

if x != 'minus' and x != 'plus'

您還可以使用更多的Pythonic:

if x not in ('minus', 'plus')

暫無
暫無

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

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