0
votes

Ajout de deux tableaux en python en utilisant une boucle

Dans la sortie, je peux afficher deux sorties ont été imprimées

from numpy import *
a=array([1,2,3,4,5,6])
print(a)
b=array([7,8,9,1,2,3])
for x in (a,6):
    print(a+b)


8 commentaires

La boucle fonctionne deux fois, une fois avec x = a , puis x = 6 , appelant ainsi impression (A + b) deux fois.


D'accord; Quelle est votre question ?


Bonjour et bienvenue à Stackoverflow! Ce n'est pas clair ce que vous essayez de faire. Voulez-vous simplement ajouter A et B coordonnées-sages? Si oui, vous pouvez simplement faire A + B . Vous n'avez pas besoin de pour boucle.


Bonjour @daniel Oui, c'était une tâche donnée à moi d'ajouter des tableaux dans A pour boucle.


@Karlknechtel Je veux que la sortie soit exécutée une fois deux fois.


@unil salut, que puis-je faire pour l'imprimer qu'une seule fois?


pour i, x en énumérant (a): impression (x + b [i]) Je ne sais pas quelle sortie attendez-vous et pourquoi avez-vous besoin de le faire avec une boucle?


pour x in (a, 6): signifie que la boucle fonctionne deux fois: une fois avec x égal à a , et une fois avec x égal à 6 . Le nombre 6 ici n'a rien à voir avec la longueur des tableaux, et la boucle n'a rien à voir avec la manière dont les tableaux sont ajoutés ensemble. L'ajout fonctionne sur chaque élément car ce sont des matrices de numpopie spéciales avec une logique personnalisée pour le faire. Lorsque vous ajoutez a à b , il ajoute les tableaux d'élément-sage; Lorsque vous ajoutez 6 à B , il ajoute 6 à chaque élément.


3 Réponses :


3
votes

Vous n'avez pas besoin de la boucle pour la boucle, faites-la comme ceci:

a=np.array([1,2,3,4,5,6])
b=np.array([7,8,9,1,2,3])
print(a+b)

#Output
[ 8 10 12  5  7  9]


6 commentaires

Bonjour @nathan Thomas, j'ai besoin de les ajouter à l'aide de la boucle, donc j'ai essayé de cette façon, mais la sortie que j'ai obtenu est [1 2 3 4 5 6] [8 10 12 5 7 9] [8 10 12 5 7 9]


Qu'entendez-vous par vous? Vous devez les ajouter en utilisant une boucle?


Je dois ajouter deux tableaux en utilisant une boucle, donc j'ai exécuté ce code mais la sortie a été imprimée deux fois, même si j'ai mentionné la plage.


Pourquoi avez-vous besoin d'utiliser une boucle?


La réponse que j'ai fournie est donc probablement la meilleure façon de le faire. L'utilisation d'une bouclette n'est pas la meilleure pratique pour ce type d'opération, vous pourriez dire que cette réponse est plus "pythonique" qu'une boucle. Mais si votre tâche stipule que vous devez utiliser A pour boucle, essayez: [i + j pour i, j dans zip (a, b)]


@Nathanthantomas merci.



1
votes

Assurez également de vérifier la longueur des deux tableaux, sinon vous rencontrerez ValueError.

from numpy import *
a=array([1,2,3,4,5])
print(a)
b=array([7,8,9,1,2])
print(b)

len_a = len(a)
len_b = len(b)
if len_a == len_b:
    print(a+b)
else:
    print("length of array_a = %d, len of array_b = %d, cannot add two arrays") % (len_a, len_b)


0 commentaires

1
votes

J'espère que cela vous aide

from numpy import *
a=array([1,2,3,4,5,6])
print('Value of a is: ',a)
b=array([7,8,9,1,2,3])
print('Value of b is: ',b)
c=[]

for x in range(len(a)):
    #print (a[x]+b[x])
    c.append(a[x]+b[x])

print('The sum of a+b is: ',c)


0 commentaires