Prüfung auf positive Zahlen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
El_Capitan
User
Beiträge: 5
Registriert: Dienstag 8. Januar 2019, 15:36

Dienstag 8. Januar 2019, 15:50

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ß
ArtooDetoo
User
Beiträge: 60
Registriert: Dienstag 4. Dezember 2018, 16:57

Dienstag 8. Januar 2019, 17:03

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():
El_Capitan
User
Beiträge: 5
Registriert: Dienstag 8. Januar 2019, 15:36

Dienstag 8. Januar 2019, 17:18

Damit funktioniert das Skript so wie es soll.
Vielen Dank!
Antworten