[PYTHON] Wenn Sie die mathematischen Symbole nicht verstehen, können Sie ein Programm schreiben.

Eine Legende von einem Mann, der bestimmte Mathematik (oder Zahlen) hasst

Warum ist es jetzt so?

Deshalb hat der Mann, der Mathematik hasst, die auf Gott abzielt, die Mathematik ständig überprüft ... Gibt es nicht ein mathematisches Symbol? Irgendwie das. Ich weiß es nicht.

Das habe ich mir ausgedacht. Wenn Sie die mathematischen Symbole nicht verstehen, sollten Sie versuchen, sie programmgesteuert zu implementieren.

Versuchen Sie, Σ zu implementieren

Vorerst habe ich die Bedeutung von Σ vergessen und mich entschlossen, sie selbst zu implementieren.

Was ist der Zweck von Σ überhaupt?

Selbst wenn Sie studieren, dass der Zweck unklar ist, kommt er überhaupt nicht richtig. Die Bedeutung von Σ ist die Summe, dh um eine Liste (Array) von Zahlen zu erstellen und den *** Gesamtwert *** zu erhalten.

Zum Beispiel ist der Gesamtwert von [1,2,3,4,5,6,7,8,9,10] 55, aber es ist das Symbol, das verwendet wird, um diesen Gesamtwert in einen Buchstaben zu schreiben. Nein ich verstehe. Aber dann sollten Sie die Summe von 1 bis 10 schreiben.

Dann, wenn die Liste der Zahlen [2,4,6,8,10] ist. Es wird "die Summe von nur geraden Werten von 1 bis 10" sein, aber es ist lang. Je komplizierter die Bedingungen sind, desto schwieriger ist es zu lesen. Persönlich ist es einfacher zu lesen, wenn Sie es aufschreiben.

Wie auch immer, Σ erscheint hier.

Σ ist ein iterativer Prozess

Zum Beispiel kann der Gesamtwert von [1,2,3,4,5,6,7,8,9,10] so ausgedrückt werden.

image.png

Mit anderen Worten bedeutet dies, dass während der Wiederholung von ** 1 bis 10 die Werte von 1 bis 10 wie bei jeder Iteration zum Array hinzugefügt werden und schließlich die Summe aller Elemente im Array berechnet wird **. In meinem Fall bekomme ich eine allergische Reaktion, wenn ich versuche, die Summe plötzlich zu finden. Beruhige dich also zuerst und mache zuerst ein paar Reihen. Implementieren wir also ein Array (Liste) von 1 bis 10 mit Python.

array = []
for i in range(1, 11):
  array.append(i)

Ja, überhaupt kein Problem. Danach, wenn Sie den Gesamtwert ermitteln möchten

sum(array)
 # => 55

Sie sollten in der Lage sein, den Gesamtwert durch Schreiben zu ermitteln.

Wenn Sie es in den Code einfügen, können Sie es sich leisten, aber wenn es Σ ist, scheint es für einen Moment bedeutungslos zu sein. ~~ Dies liegt daran, dass mathematische Symbole verkleidet sind und unlesbare Symbole und Buchstaben verwenden. ~~ Ich denke, es ist tatsächlich davon abgeleitet .... Füllen wir den Unterschied zwischen diesem allgemeinen Python-Code und dem Σ-Symbol aus.

Ich habe versucht, Variablen und Werte, die dieselbe Rolle spielen, farblich zu kennzeichnen. Dies macht es etwas einfacher zu verstehen. "Wie weit zu wiederholen" ist 11 aufgrund der Spezifikationen der Funktion range (), aber es kann nicht geholfen werden. image.png

In diesem Fall spielen k und ich die gleiche Rolle. Lassen Sie uns die Variablennamen trotzdem vereinheitlichen.

array = []
for k in range(1, 11):
  array.append(k)

Dies macht es etwas einfacher zu verstehen.

Herz

Es wäre schön, wenn die Variablennamen wie "start_from", "end" und "element" leicht verstanden werden könnten, ohne k, n oder a zu verwenden. Erstens scheint Σ selbst der griechische Buchstabe Σ von S in "Summation" zu sein, was die Summe auf Englisch bedeutet. Dann ist Summation in Ordnung. Warum kürzen Sie es ab? Erstens kommt das Wort "Summation" aus dem Lateinischen, oder? Warum benutzt du griechische Buchstaben? Es ist aber cool!

Anpassung des Bearbeitungsteils

Kommen wir nun zur Geschichte zurück. Die rechte Seite von Σ wurde früher als "k" geschrieben, aber eine andere Formel kann so kommen.

image.png

Dies ist im Code ziemlich einfach. Es ist eine gute Idee, sich dies als Hinweis darauf vorzustellen, wie die Werte, die Sie in die Liste aufnehmen möchten, letztendlich verarbeitet werden.

array = []
for k in range(1, 11):
  array.append(k) #Entspricht hier dem k-Teil

Also in diesem Beispiel

array = []
for k in range(1, 11):
  array.append(2 * k) 

Sie können es so schreiben.

Ich habe es nur mit sehr einfachen Ausdrücken zu tun, aber ich denke, der Rest kann darauf angewendet werden.

Lass uns ein wenig spielen (Bonus)

Nachdem ich die Grundlagen kenne, werde ich sie aus programmatischer Sicht anpassen. Zuallererst ist es mühsam, jedes Mal zu schreiben, also machen wir es zu einer Funktion.

Einfache Funktionalisierung

Es wird so sein, wenn es leicht in eine Funktion umgewandelt werden kann. Der Rückgabewert versucht, die Summe ordnungsgemäß zurückzugeben.

def sigma():
  array = []
  for k in range(1, 11):
    array.append(2 * k)

  return sum(array)

Wert von außen erhalten

Wenn dies unverändert bleibt, ist es unflexibel. Empfangen Sie den Wert daher unbedingt von außen.

def sigma(k, n):
  array = []
  for k in range(k, (n + 1)):
    array.append(2 * k)

  return sum(array)

#Beispiel für einen Funktionsaufruf
print(sigma(1, 10))
 # =>110, weil es die Summe von 1 bis 10 multipliziert mit 2 ist.

Empfange die Zeremonie von außen

Lassen Sie uns die Zeremonie auch von außen empfangen. Ich werde hier die Lambda-Formel verwenden.

def sigma(k, n, func):
  array = []
  for k in range(k, (n + 1)):
    array.append(func(k, n))

  return sum(array)

#Beispiel für einen Funktionsaufruf
print(sigma(1, 10, lambda k, n : 2 * k))
 # =>110, weil es die Summe von 1 bis 10 multipliziert mit 2 ist.

Ich habe hier geraten. Oh, vielleicht die Listeneinschlussnotation ...

Im Falle einer Listeneinschlussnotation

array = [2 * k for k in range(1, 11)]
print(sum(array))

Das war's......

print(sum([2 * k for k in range(1, 11)]))

Es ist auf nur eine Zeile geschrumpft. Ich wusste, dass die Ausführungsgeschwindigkeit schnell war, aber die Notation der Listeneinbeziehung ist auch in diesem Sinne einfach. Danach können Sie auch einen bedingten Zweig einfügen!

Fazit

Wenn Sie ein Programm schreiben können, aber nicht rechnen können, möchten Sie vielleicht versuchen, ein Programm zu schreiben! Ich fand Σ nicht nützlich, aber zumindest verstand ich es und fand, dass die Notation der Listeneinbeziehung wunderbar war (lacht).

Recommended Posts

Wenn Sie die mathematischen Symbole nicht verstehen, können Sie ein Programm schreiben.
Wie kann ich ein gutes Programm schreiben?
Wenn Sie TinderBot in Python schreiben, kann sie das tun
Schreiben Sie Python nicht, wenn Sie es mit Python beschleunigen möchten
Wollen Sie nicht sagen, dass Sie ein Gesichtserkennungsprogramm erstellt haben?
Überprüfen Sie, ob Sie in Python eine Verbindung zu einem TCP-Port herstellen können
Kalman Filter, den Sie verstehen können
Schreiben Sie ein Caesar-Verschlüsselungsprogramm in Python
[Anfänger] Was passiert, wenn ich ein Programm schreibe, das in Python auf PHP läuft?
Wenn ihr in der Scope-Küche das mit einem Rand machen könnt ~ ♪
Wenn Sie so viel wissen, können Sie Python-Testcode schreiben! ~ Super Einführungsausgabe ~