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 explicite
pause 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!