Liao Xuefeng Python Übungsproblem Generator (Yang Hui Dreieck Übungen)

Kürzlich folgte ich dem Tutorial von Lehrerin Liao Xuefeng, um Python zu lernen. Als ich die Übungen mit dem Generator machte, stellte ich fest, dass mein Denken noch erweitert werden muss und es im Vergleich zu anderen großen Lernenden immer noch eine große Lücke gibt, also habe ich es aufgezeichnet als Bewertung.

ps: Dieser Codeblock ist die Hausaufgabe von MeanCoder im Tutorial von Lehrer Liao Xuefeng. . .

o (╯ □ ╰) o, obwohl ich es selbst geschrieben habe, aber es ist zu kompliziert, sodass ich es nicht posten werde.

Das Yanghui-Dreieck ist wie folgt definiert:

          1
         / \
        1   1
       / \ / \
      1   2   1
     / \ / \ / \
    1   3   3   1
   / \ / \ / \ / \
  1   4   6   4   1
 / \ / \ / \ / \ / \
1   5   10  10  5   1

Betrachten Sie jede Zeile als Liste, versuchen Sie, einen Generator zu schreiben, und geben Sie kontinuierlich die Liste der nächsten Zeile aus:

# - * - Codierung: utf-8 - * -

def triangles ():
    x = [1]
    while True:
        ergibt x
        x = [0] + x + [0] #add 0 zum Anfang und zum Ende, um den Grenzwert
        x = [x [i] + x [i +1] für i im Bereich (len (x) -1)]

Das Folgende ist auch die Hilfe, die AnimaOcean im Tutorial bereitstellt . Es ist recht einfach und klar, daher werde ich es direkt verwenden.

x = [0] + x + [0] addiere 0 am Anfang und am Ende, verwendet für die Grenzberechnung
x = [x [i] + x [i + 1] für i in Bereich (len (x) -1)] Schleife Um eine Liste zu generieren, weisen Sie sie schließlich l
x [i] + x [i + 1] zu. Der vorherige Wert und der nächste Wert werden addiert, um den nächsten Wert
für i im Bereich (len (x) -1) zu berechnen generierter Indexwertbereich
(len (x) -1) Erhalten Sie alle Indexwerte von l, da die Berechnungsmethode darin besteht, den aktuellen Wert und den nächsten Wert zu addieren, um zu vermeiden, dass der Schwanz die Grenze überschreitet, sodass er reduziert werden muss einzeln

Zerlegt ist wie folgt
def triangles ():
    x = [1]
    während True:
        Ausbeute x
        x = [0] + x + [0]
        g = []
        für i im Bereich (len (x) -1):
            g.append ( x [i] + x [i + 1])
        x = g

Vielen Dank an Lehrerin Liao Xuefeng und diese beiden Schüler. . .

Ich denke du magst

Origin blog.csdn.net/Holy_NewBie/article/details/109119563
Empfohlen
Rangfolge