Afsnit Py.4: Sandhedsvariable

python kan angive sandhedsværdien af en relation mellem to tal. For eksempel vil python give 2>3 værdien "False", og give 2<3 værdien "True". I nogle situationer vil True blive opfattet som tallet 1 og False som tallet 0. Følgende relationer giver som resultat en sandhedsværdi:
Logiske værdier kan forbindes med som betyder "og", det vil sige, at begge udsagn skal være sande, for at resultatet er sandt, eller de kan forbindes med |, som betyder "eller", det vil sige, at mindst et udsagn skal være sandt, for at resultatet er sandt.

print(2<3)
| False

print(2>3)
| False

x=3
print((x**2)==9)
| True

print((x**2)!=9)
| False

print((4>3)&(2<3))
| True

print((4<3)&(2<3))
| False

print((4<3)&(2>3))
| False

print((4>3)|(2<3))
| True

print((4<3)|(2<3))
| True

print((4<3)|(2>3))
| False

Hvis det er en vektor, der indgår i en relation, finder python sandhedsværdien for hver indgang i vektoren.

import numpy as np

x=np.array([1,5,4,2,3])
print(x>2)
| [False  True  True False  True]

y=np.array([2,4,2,3,3])
print(x>y)
| [False  True  True False False]

print(sum(x>y))  # antal sande udsagn, sand=1 og falsk=0
| 2

print((x>y)*3)  # sand=1 og falsk=0
| [0 3 3 0 0]

print((x<5)&(y>2))
| [False False False  True  True]

En meget nyttig egenskab er, at en vektor med sandshedsværdier kan bruges til at udtage elementer af en vektor.

import numpy as np

x=np.array([1,5,4,2,3])
y=np.array([2,4,2,3,3])
z=np.array([1,2,3,4,5])

print(z[x>y])
| [2 3]

print(x[x>y])
| [5 4]

print(x[x>y]-y[x>y])
| [1 2]

ForegåendeNæste