Python - Logic of Not Equal Or - ให้การเลือกทั้งหมดผ่าน [ซ้ำกัน]

Oct 10 2020

ฉันพยายามสร้าง "ไม่เท่ากับ N หรือ n" เพื่ออนุญาตให้มีอินพุตที่แตกต่างกันและได้สร้างตรรกะที่อนุญาตให้การเลือกทั้งหมดผ่านไปได้ ตรรกะของฉันผิดหรือการเข้ารหัสของฉัน?

item = input()
if item != "N" or item != "n":
    print("Inside loop - {0} not like N or n".format(item))
else: print("outside loop - {0}  like N or n".format(item))

คำตอบ

4 Samwise Oct 10 2020 at 04:11

ทั้งสองอย่างเล็กน้อย - คุณorไม่ได้ทดสอบ "ไม่เท่ากับ N หรือ n" เป็นการทดสอบ "(ไม่เท่ากับ N) หรือ (ไม่เท่ากับ n)" คุณต้องการสิ่งที่ชอบมากขึ้น:

if item not in ("N", "n")

หรือ:

if item != "N" and item != "n"

หรืออาจเป็นเพียง:

if item.lower() != "n"