คำถามติดแท็ก boolean-expression

9
Python `ถ้า x ไม่ใช่ None 'หรือ` ถ้าไม่ใช่ x ไม่ใช่ None'?
ฉันคิดเสมอของif not x is Noneรุ่นที่จะมีความชัดเจนมากขึ้น แต่ของ Google คู่มือสไตล์และPEP-8if x is not Noneใช้งานทั้ง มีความแตกต่างเล็กน้อยในการทำงาน (ฉันไม่ได้คาดหวังไว้) และมีกรณีใดบ้างที่ไม่เหมาะสม (ทำให้อีกฝ่ายเป็นผู้ชนะที่ชัดเจนสำหรับการประชุมของฉัน) * * ผมหมายถึงเดี่ยว ๆ Noneมากกว่าแค่ ... เพื่อเปรียบเทียบซิงเกิลตันแบบไม่มี ใช้เป็นหรือไม่

5
วิธีทำ“ ถ้าไม่ใช่สภาพที่แท้จริง”?
ฉันต้องการให้echoคำสั่งดำเนินการเมื่อcat /etc/passwd | grep "sysa"ไม่เป็นความจริง ผมทำอะไรผิดหรือเปล่า? if ! [ $(cat /etc/passwd | grep "sysa") ]; then echo "ERROR - The user sysa could not be looked up" exit 2 fi

4
ทำไม "ถ้าไม่มี. __ eq __ (" a ")" ดูเหมือนจะประเมินเป็น True (แต่ไม่มาก)
หากคุณดำเนินการคำสั่งต่อไปนี้ใน Python 3.7 จะพิมพ์ (จากการทดสอบของฉัน) b: if None.__eq__("a"): print("b") อย่างไรก็ตามประเมินNone.__eq__("a")NotImplemented ธรรมชาติ"a".__eq__("a")ประเมินTrueและประเมิน"b".__eq__("a")False ผมเริ่มค้นพบนี้เมื่อการทดสอบค่าตอบแทนของฟังก์ชั่น แต่ไม่ได้กลับอะไรในกรณีที่สอง - Noneเพื่อฟังก์ชั่นที่ส่งกลับ เกิดอะไรขึ้นที่นี่?

8
'และ' (boolean) vs '&' (bitwise) - ทำไมความแตกต่างของพฤติกรรมกับรายการเทียบกับ numpy arrays?
อะไรอธิบายความแตกต่างในพฤติกรรมของการดำเนินการบูลีนและระดับบิตในรายการเทียบกับ NumPy อาร์เรย์? ฉันสับสนเกี่ยวกับการใช้&vs andใน Python ที่เหมาะสมแสดงในตัวอย่างต่อไปนี้ mylist1 = [True, True, True, False, True] mylist2 = [False, True, False, True, False] >>> len(mylist1) == len(mylist2) True # ---- Example 1 ---- >>> mylist1 and mylist2 [False, True, False, True, False] # I would have expected [False, True, False, False, False] …

3
นิพจน์บูลีนที่ดีมีอะไรบ้าง? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังปรับโครงสร้างโค้ดเก่าและพบเงื่อนไข IF หลายอย่างที่ซับซ้อนและยาวเกินไปและฉันมั่นใจว่าสามารถทำให้ง่ายขึ้นได้ ฉันเดาว่าเงื่อนไขเหล่านั้นเพิ่มขึ้นมากเนื่องจากการปรับเปลี่ยนในภายหลัง อย่างไรก็ตามฉันสงสัยว่ามีใครรู้จัก Simplifier ออนไลน์ที่ดีที่ฉันสามารถใช้ได้หรือไม่ ฉันไม่สนใจภาษาใดภาษาหนึ่งมีเพียงซิมพลิไฟเออร์ที่จะใช้ในตัวอย่าง: ((A หรือ B) และ (! B และ C) หรือ C) และให้รุ่นที่เรียบง่ายของนิพจน์ถ้ามี ฉันได้ดูคำถามอื่น ๆ ที่คล้ายกัน แต่ไม่มีใครชี้ให้ฉันเห็นถึงเครื่องขยายเสียงที่ดี ขอบคุณ.

3
เหตุใด "a == b หรือ c หรือ d` จึงประเมินเป็น True เสมอ
ฉันกำลังเขียนระบบความปลอดภัยที่ปฏิเสธการเข้าถึงของผู้ใช้ที่ไม่ได้รับอนุญาต import sys print("Hello. Please enter your name:") name = sys.stdin.readline().strip() if name == "Kevin" or "Jon" or "Inbar": print("Access granted.") else: print("Access denied.") ให้สิทธิ์เข้าถึงผู้ใช้ที่ได้รับอนุญาตตามที่คาดไว้ แต่ยังอนุญาตให้ผู้ใช้ที่ไม่ได้รับอนุญาต! Hello. Please enter your name: Bob Access granted. เหตุใดจึงเกิดขึ้น ฉันได้ระบุไว้อย่างชัดเจนว่าให้สิทธิ์การเข้าถึงเมื่อnameเท่ากับ Kevin, Jon หรือ Inbar เท่านั้น ฉันได้ลองใช้ตรรกะตรงข้ามif "Kevin" or "Jon" or "Inbar" == nameแล้ว แต่ผลลัพธ์ก็เหมือนกัน


2
แปลงความจริงหรือเท็จเป็นบูลีนที่ชัดเจน
ฉันมีตัวแปร ขอเรียกว่าtoto. ซึ่งtotoสามารถตั้งค่าเป็นundefined , nullสตริงหรือวัตถุ ฉันต้องการตรวจสอบว่าtotoถูกตั้งค่าเป็นข้อมูลหรือไม่ซึ่งหมายถึงตั้งค่าเป็นสตริงหรือวัตถุและไม่undefinedมิได้nullและชุดที่สอดคล้องกันค่าบูลีนในตัวแปรอื่น ฉันนึกถึงไวยากรณ์!!ซึ่งจะมีลักษณะดังนี้: var tata = !!toto; // tata would be set to true or false, whatever toto is. ครั้งแรก!จะถูกตั้งค่าเป็นfalseif toto undefinedหรือnullและtrueอื่น ๆ และอันที่สองจะกลับ แต่มันดูแปลกไปหน่อย มีวิธีที่ชัดเจนกว่านี้หรือไม่? ฉันได้ดูคำถามนี้แล้ว แต่ฉันต้องการตั้งค่าในตัวแปรไม่ใช่แค่ตรวจสอบในifคำสั่ง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.