La sortie du programme doit obtenir les effets suivants :
[1] [1,1] [1,2,1] [1,3,3,1]
......
Méthode : itération, générateur
def triangles() L = [1] while True: yiled L L =[1] + [L[i] + L[I+1] for i in range(len(L)-1)] + [1] n = 0 for t in triangles(): print(t) n += 1 if n == 10: break
Logique de mise en œuvre :
1. Puisque rendement est la sortie d'interruption du générateur, la première sortie est [1]
2. Continuez la boucle après rendement en dessous de while, et la longueur de la liste est de 1 à ce moment-là, remplacez-le par len(L) dans L et obtenez [L[i]+L[i+1] for i in range(1-1)], qui est une valeur nulle, donc la sortie de rendement L est [1 , 1]
3. À ce stade, la valeur de len(L) est 2 et le résultat de la substitution est [L[i]+L[i+1] pour i in range(2-1 )] comme [L[i] ]+L[i+1] pour i in range(1)], je peux prendre la valeur 0, et après substitution, c'est [L[0]+L[1]], et les valeurs de L[0] et L[1] Les valeurs sont toutes 1 (comme le montrent les résultats ci-dessus), donc le résultat de sortie est [1,2,1]
4. D'après le troisième article, on peut voir que la valeur de len(L) est 3 à ce moment-là, et la substitution donne [L [i]+L[i+1] pour i in range(2)] , la valeur de i est 0 et 1, il y a deux valeurs sorties via la boucle, les deux valent respectivement 3 [L[0]+L[1 ]],[L[1]+L[2]]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!