fonction map - grammaire Python de base apprise avec un exemple de programme intéressant

Contexte

Je n'avais pas envie de mémoriser la grammaire de base sans un exemple de programme intéressant, alors j'ai décidé de créer un exemple de programme pour chaque grammaire de base.

Au fait, il est difficile de définir des C'est juste intéressant sur mon échelle, donc je vais faire un exemple de programme amusant (peut-être un peu surréaliste), et il peut y avoir un calcul comme celui-ci.

En principe, je suis un super débutant. Python apprend le côté serveur des applications Web et apprendra Django après avoir terminé la grammaire de base.

◆ pratique de la carte

Créez un programme qui calcule le nombre de fractions pour les entiers de 1 à 100. Créez deux modèles, l'un est de calculer en extrayant les éléments de la liste avec for, et l'autre est de calculer avec map.

Utilisez la liste

x = range(1,100)
y = []
cnt = 0
for i in x:
    cnt = 0
    j = 1
    #Diviser par le nombre inférieur ou égal à x
    while j <= i:
        #S'il est divisible, c'est une fraction, alors comptez
        if x[i-1] % j == 0 :
            cnt += 1
        j += 1
    y.append(cnt)
print(x)
print(y)

Utiliser la carte

def yakusucalc(x1):
    cnt = 0
    j = 1
 Essayez de diviser par le nombre inférieur à # x1
    while j <= x1:
 #S'il est divisible, c'est une fraction, alors comptez
        if x1 % j == 0 :
            cnt += 1
        j += 1
    return cnt
x = range(1,100)
y = list(map(yakusucalc, x))
print(x)
print(y)

Au fait, lorsque le graphique est affiché, il ressemble à ceci. graph.png

Le code pour afficher le graphique est le suivant.

# Cette ligne est requise lors de l'exécution dans Jupyter Notebook
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import math

x = range(1,100)
# Calculez le nombre de fractions.
def yakusucalc(x1):
    cnt = 0
    j = 1
 Essayez de diviser par le nombre inférieur à # x1
    while j <= x1:
 #S'il est divisible, c'est une fraction, alors comptez
        if x1 % j == 0 :
            cnt += 1
        j += 1
    return cnt

y = list(map(yakusucalc, x))
print(x)
print(y)

plt.plot(x, y)
plt.show

En utilisant map, le code a été simplifié.

Postscript (26/01/2020) yakusucalc peut être écrit sur une seule ligne comme suit. (Merci pour votre commentaire)

def yakusucalc(value):
    return sum(value % yakusu == 0 for yakusu in range(1, value + 1))

Recommended Posts

fonction map - grammaire Python de base apprise avec un exemple de programme intéressant
Exemple de programme qui génère un syslog avec la journalisation Python
Exemple de données créées avec python
Créer un œuf avec python
Commencez avec Python! ~ ② Grammaire ~
[Python] Exemple de code pour la grammaire Python
J'ai appris la grammaire de base de Python
Découpez une image avec python
[Python] Programmation orientée objet apprise avec Pokemon
Déboguer un programme multi-processus python avec VSCode
J'ai envoyé un SMS avec Python
Expérience d'apprentissage Perceptron apprise avec Python
Structure de données Python apprise avec la chimioinfomatique
Ramassage efficace du réseau avec Python
1. Statistiques apprises avec Python 1-1. Statistiques de base (Pandas)
Dessinez une illustration avec Python + OpenCV
[Python] Envoyez des e-mails avec Outlook
[Python] Carte thermique de style calendrier (avec affichage des jours fériés)
[Python] Création d'un environnement avec Anaconda [Mac]
[Python] Un programme qui crée des escaliers avec #
Remarques lors de la création d'un environnement avec python
Programme d'analyse des contraintes FEM 2D par Python
Créez rapidement un fichier Excel avec Python #python
Carte des informations de location sur une carte avec python
Programmes Python de document HTML avec Sphinx
1. Statistiques apprises avec Python 1-3. Calcul de diverses statistiques (statistiques)
[Python] Créez rapidement une API avec Flask
Scraping depuis un site authentifié avec python
J'ai fait une carte hexadécimale avec Python
Exemple de programme pour afficher des vidéos avec PyQt
Créez une application de mots anglais avec python
Envoyer un e-mail avec Amazon SES + Python
Rejoignez un juge en ligne avec Python 3.x
Essayez de dessiner une carte avec python + cartopy 0.18.0
Développons un algorithme d'investissement avec Python 1
Exemple de conversion en ondelettes d'images en Python
Créez une carte chronologique animée de l'état de l'infection par le virus corona avec python + plotly