Seite 1 von 1

Prüfung auf positive Zahlen

Verfasst: Dienstag 8. Januar 2019, 15:50
von El_Capitan
Hey,

ich habe folgenden Code:

Code: Alles auswählen

import numpy as np

P1=np.linspace(3,10,8)
P2=np.linspace(-3,-10,8)
P3=np.linspace(-3,4,8)

print P1
print P2
print P3

if P1.all() > 0:
	print 'ja'
else:
	print'nein'

if P2.all() > 0:
	print 'ja'
else:
	print'nein'

if P3.all() > 0:
	print 'ja'
else:
	print'nein'
Der Code erzeugt folgende Ausgabe:

Code: Alles auswählen

[  3.   4.   5.   6.   7.   8.   9.  10.]
[ -3.  -4.  -5.  -6.  -7.  -8.  -9. -10.]
[-3. -2. -1.  0.  1.  2.  3.  4.]
ja
ja
nein
Ich möchte prüfen ob der Array nur positive Zahlen enthält, daher erwarte ich folgende Ausgabe:

Code: Alles auswählen

[  3.   4.   5.   6.   7.   8.   9.  10.]
[ -3.  -4.  -5.  -6.  -7.  -8.  -9. -10.]
[-3. -2. -1.  0.  1.  2.  3.  4.]
ja
nein
nein
Mein Code erkennt also nicht, dass P2 keine positive Zahl enthält.
Wie kann ich prüfen ob ein Array nur positive Zahlen enthält?

Gruß

Re: Prüfung auf positive Zahlen

Verfasst: Dienstag 8. Januar 2019, 17:03
von ArtooDetoo
Die all()-Methode macht mehr Sinn für boolesche Arrays. Was du also machen solltest ist folgendes:

Code: Alles auswählen

if (P1>0).all():

Re: Prüfung auf positive Zahlen

Verfasst: Dienstag 8. Januar 2019, 17:18
von El_Capitan
Damit funktioniert das Skript so wie es soll.
Vielen Dank!