Comment implémenter A pour boucle avec une pause qui renvoie également les valeurs à la pause?
x = np.empty(1)
x[0] = 0.4
f = np.array([3,2,1,0,1,2,3])
y = np.empty(0)
for i in range(len(f)):
if f[i+1] < f[i]:
newx = x[i]*2
y = np.append(y,f[i+1])
x = np.append(x,newx)
else:
break
3 Réponses :
Essayez quelque chose comme ceci:
for i in range(len(f) - 1):
newx = x[i]*2
y = np.append(y,f[i+1])
x = np.append(x,newx)
if f[i+1] > f[i]:
break
Doux ! Cela marche. Merci pour votre réponse rapide. Je suppose que c'était une solution simple. Un peu nouveau à Python Plus travaillons sur ce projet pour trop d'heures déjà.
f [i + 1] déclenchera une erreur d'index sous certaines conditions, ce qui dépend des entrées
@Menglongli a été modifié pour aller à Len (F) - 1 Code> Pour éviter toute erreur d'index.
Essayez d'ajouter du code à votre part de votre part comme suit:
for i in range(len(f)):
if f[i+1] < f[i]:
newx = x[i]*2
y = np.append(y,f[i+1])
x = np.append(x,newx)
else:
y = np.append(y,f[i+1])
x = np.append(x,newx)
break
@Menglongli pourquoi? Cela a le même problème que mon code à l'origine.
Ajoutez simplement une nouvelle condition.
x = np.empty(1)
x[0] = 0.4
f = np.array([3,2,1,0,1,2,3])
y = np.empty(0)
for i in range(len(f)):
if f[i+1] < f[i]:
newx = x[i]*2
y = np.append(y,f[i+1])
x = np.append(x,newx)
elif f[i+1]>f[i] and f[i]==0:
newx = x[i] * 2
y = np.append(y, f[i + 1])
x = np.append(x, newx)
else:
break
Retour CODE> Pause la boucle Pourquoi vous avez besoin explicitepause code>Je suppose que vous avez juste besoin d'une déclaration d'impression :) avant de retourner ou de rompre l'empreinte, faites-moi savoir si vous voulez le stocker .. Je vais vous aider avec le code
Merci pour les réponses rapides. @Akshaynevrekar Comment fonctionnerait une pause explicite? (un peu nouveau à Python ici).
@Punetsinha oui je stocke les valeurs!