web-dev-qa-db-fra.com

Python éléments de tableau dans l'instruction if

J'ai un tableau avec des nombres entiers et pour la boucle. J'essaie de tester si certains éléments spécifiques du tableau sont plus grands ou plus petits que certains entiers. Ce code l'explique mieux:

array = [1,2,3,4,5]
for i in range(5):
    if array[i] >= 3:
        print(sometext)
    else:
        print(othertext)

Mais j'ai un ValueError: la valeur de vérité d'un tableau avec plus d'un élément est ambiguë. Utilisez a.any () ou a.all ()

SOLUTION: je l'ai bien mis en retrait. Ceci est juste une simplification (un exemple stupide) de mon code. J'ai trouvé où est l'erreur. C'est parce que j'ai initialisé le tableau avec numpy comme

a = numpy.empty(5) et pas comme ça:

a = [0 for i in range(5)]

Merci à tous pour votre aide

4
Falco Peregrinus

Vous devez parcourir le tableau lui-même:

array = [1, 2, 3, 4, 5]

for item in array:
    if item >= 3:
        print("yes")
    else:
        print("no")
3
Gabriel

Cela a fonctionné pour moi avec des intentions appropriées:

>>> array = [1,2,3,4,5]
>>> for i in range(5):
...     if array[i] >= 3:
...             print("Yes")
...     else:
...             print("No")
...
1
Anand.G.T

Ce n'est pas vraiment la façon la plus pythoninc de faire ce que vous décrivez.

array = [1,2,3,4,5]
for element in array:
    if element >= 3:
        print("Yes")
    else:
        print("No")

Référence: https://wiki.python.org/moin/ForLoop

0
Robotbobtm

L'erreur que vous obtenez est essentiellement due à l'INDENTATION. Python suit strictement l'indentation, ce qui signifie qu'il n'exécutera que les codes écrits dans ce bloc spécifique. Reportez-vous Règle d'indentation Python pour plus de détails. Merci. Happy Coding Ahead.

0
Chandra Shekhar