2013-05-07 4 views
5

Ich möchte mehrere Vergleiche für eine logische Bedingung in Python machen, aber ich bin mir nicht sicher über die richtige für die and und or. Ich habe 2 Aussagen.Mehrere logische Vergleiche in einer einzigen Zeile für eine if-Anweisung

Statement 1:

#if PAB is more than BAC and either PAB is less than PAC or PAC is more than BAC 
if PAB > BAC and PAB< PAC or PAB > BAC and PAC>BAC: 

Statement 2:

#if PAB is more than BAC and PAC is less than PAB or if PAB is less than BAC and PAC is less than BAC 
if PAB >BAC and PAC<PAB or PAB<BAC and PAC<BAC 

Ist oder-ing die beiden ands der richtige Weg, um darüber zu gehen?

Danke.

+5

'PAB> BAC und PAB mgilson

+0

'PAB',' PAC' und 'BAC' sind Winkel von 3 Dreiecken mit gemeinsamen Ecken. 'PAB> BAC und PAB

+0

@markmcmurray: Ich habe das als 'a Eric

Antwort

9

auf Anweisung der Suche 1, ich nehme an, Sie bedeuten:

if (PAB > BAC and PAB< PAC) or (PAB > BAC and PAC>BAC): 

In diesem Fall ich es wahrscheinlich so schreiben würde (gekettet Vergleiche, Dokumente mit: python2, python3):

if (BAC < PAB < PAC) or min(PAB,PAC)>BAC: 

Sie können eine analoge Form für Anweisung 2.

dass das, kann ich nicht Lassen Sie Ihre Kommentare im Code der Frage mit meiner Interpretation Ihrer Bedingungen übereinstimmen, daher ist es plausibel, dass ich Ihre Anforderung nicht verstehe.

Verwandte Themen