[PYTHON] Si vous ne comprenez pas les symboles mathématiques, vous pouvez écrire un programme.

Une légende d'un homme qui déteste certaines mathématiques (ou chiffres)

Alors pourquoi est-ce maintenant?

C'est pourquoi l'homme qui déteste les mathématiques visant Dieu a régulièrement revu les mathématiques ... N'y a-t-il pas un symbole mathématique? D'une manière ou d'une autre, ça. Je ne sais pas.

Je suis venu avec ça. Si vous ne comprenez pas les symboles mathématiques, vous devriez essayer de les implémenter par programme.

Essayez de mettre en œuvre Σ

Pour le moment, j'ai oublié la signification de Σ, alors j'ai décidé de l'implémenter moi-même.

Quel est le but de Σ en premier lieu?

Même si vous étudiez que l'objectif n'est pas clair, cela ne va pas du tout. La signification de Σ est la somme, c'est-à-dire créer une liste (tableau) de nombres et obtenir la *** valeur totale ***.

Par exemple, la valeur totale de [1,2,3,4,5,6,7,8,9,10] est 55, mais ce sera le symbole utilisé pour écrire cette valeur totale dans une lettre. Non je comprends. Mais alors, vous devez écrire le total de 1 à 10.

Ensuite, si la liste des nombres est [2,4,6,8,10]. Ce sera "la somme des valeurs paires seulement de 1 à 10", mais c'est long. Il semble que plus les conditions sont compliquées, plus elles sont difficiles à lire. Personnellement, c'est plus facile à lire si vous l'écrivez.

Quoi qu'il en soit, Σ apparaît ici.

Σ est un processus itératif

Par exemple, la valeur totale de [1,2,3,4,5,6,7,8,9,10] peut être exprimée comme ceci.

image.png

En d'autres termes, cela signifie qu'en répétant ** 1 à 10, les valeurs de 1 à 10 sont ajoutées au tableau comme à chaque itération, et finalement la somme de tous les éléments du tableau est calculée **. Dans mon cas, si j'essaie de trouver le total soudainement, j'ai une réaction allergique, alors calmez-vous d'abord et faites d'abord quelques lignes. Alors, implémentons un tableau (liste) de 1 à 10 avec python.

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

Ouais, pas de problème du tout. Après cela, si vous voulez trouver la valeur totale

sum(array)
 # => 55

Vous devriez pouvoir trouver la valeur totale en écrivant.

Si vous le déposez dans le code, vous pouvez vous le permettre, mais si c'est Σ, cela semble sans signification pendant un moment. ~~ C'est parce que les symboles mathématiques sont habillés et utilisent des symboles et des lettres illisibles. ~~ Je pense que cela en dérive en fait ... Remplissons la différence entre ce code python général et le symbole Σ.

J'ai essayé de coder par couleur des variables et des valeurs qui ont le même rôle. Cela rend un peu plus facile à comprendre. "Jusqu'où répéter" est 11 en raison des spécifications de la fonction range (), mais cela ne peut pas être aidé. image.png

Dans ce cas, k et moi jouent le même rôle. Unifions quand même les noms des variables.

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

Cela rend un peu plus facile à comprendre.

Cœur

Ce serait bien si les noms de variables pouvaient être facilement compris, tels que "start_from", "end" et "element", sans utiliser k, n ou a. En premier lieu, Σ lui-même semble être la lettre grecque Σ de S dans «Summation» qui signifie la somme en anglais. Alors Summation est très bien. Pourquoi l'abréviez-vous? En premier lieu, le mot «sommation» vient du latin, non? Pourquoi utilisez-vous des lettres grecques? C'est cool quand même!

Personnalisation de la partie de traitement

Revenons maintenant à l'histoire. Le côté droit de Σ était écrit «k» plus tôt, mais une autre formule peut venir comme ceci.

image.png

C'est assez simple dans le code. C'est une bonne idée de considérer cela comme une indication de la façon dont les valeurs que vous souhaitez inclure dans la liste seront éventuellement traitées.

array = []
for k in range(1, 11):
  array.append(k) #Correspond à la partie k ici

Donc, dans cet exemple

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

Vous pouvez l'écrire comme ça.

Je n'ai affaire qu'à des expressions très simples, mais je pense que le reste peut s'appliquer à cela.

Jouons un peu (bonus)

Maintenant que je connais les bases, je vais l'ajuster d'un point de vue programmatique. Tout d'abord, il est difficile d'écrire à chaque fois, alors faisons-en une fonction.

Fonctionnalisation facile

Ce sera comme ça s'il est facilement converti en fonction. La valeur de retour tente de renvoyer la somme correctement.

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

  return sum(array)

Recevez de la valeur de l'extérieur

Si cela reste tel quel, il sera inflexible, alors assurez-vous de recevoir la valeur de l'extérieur.

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

  return sum(array)

#Exemple d'appel de fonction
print(sigma(1, 10))
 # =>110 car c'est la somme de 1 à 10 multipliée par 2.

Recevez la cérémonie de l'extérieur

Recevons également la cérémonie de l'extérieur. J'utiliserai la formule lambda ici.

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

  return sum(array)

#Exemple d'appel de fonction
print(sigma(1, 10, lambda k, n : 2 * k))
 # =>110 car c'est la somme de 1 à 10 multipliée par 2.

J'ai deviné ici. Oh, peut-être la notation d'inclusion de liste ...

En cas de notation d'inclusion de liste

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

Je vois......

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

Il s'est réduit à une seule ligne. Je savais que la vitesse d'exécution était rapide, mais la notation d'inclusion de liste est également facile dans ce sens. Après cela, vous pouvez également insérer une branche conditionnelle!

Conclusion

Si vous pouvez écrire un programme mais ne pouvez pas faire de mathématiques, vous pouvez essayer d'écrire un programme! Je ne pensais pas que Σ était utile, mais au moins je l'ai compris, et j'ai trouvé que la notation d'inclusion de liste était merveilleuse (rires).

Recommended Posts

Si vous ne comprenez pas les symboles mathématiques, vous pouvez écrire un programme.
Comment puis-je écrire un bon programme?
Si vous écrivez TinderBot en Python, elle peut le faire
N'écrivez pas Python si vous voulez l'accélérer avec Python
Vous ne voulez pas dire que vous avez créé un programme de reconnaissance faciale?
Vérifiez si vous pouvez vous connecter à un port TCP en Python
Filtre de Kalman que vous pouvez comprendre
Ecrire un programme de chiffrement Caesar en Python
[Débutant] Que se passe-t-il si j'écris un programme qui s'exécute sur php en Python?
Si vous les gars dans la cuisine de portée pouvez le faire avec une marge ~ ♪
Si vous en savez beaucoup, vous pouvez écrire du code de test Python! ~ Super édition d'introduction ~