Ich hatte keine Lust, die grundlegende Grammatik ohne ein interessantes Beispielprogramm auswendig zu lernen, deshalb habe ich beschlossen, für jede grundlegende Grammatik ein Beispielprogramm zu erstellen.
Übrigens ist es schwierig, interessant zu definieren Es ist nur auf meiner Skala interessant, also mache ich ein lustiges Beispielprogramm (vielleicht ein wenig surreal), und es kann eine Berechnung wie diese geben.
Als Voraussetzung bin ich ein super Anfänger. Python lernt für die Serverseite von Webanwendungen und lernt Django nach Abschluss der grundlegenden Grammatik.
Erstellen Sie ein Programm, das die Anzahl der Brüche für Ganzzahlen von 1 bis 100 berechnet. Erstellen Sie zwei Muster, eines wird berechnet, während die Elemente der Liste mit for extrahiert werden, und das andere wird mit map berechnet.
x = range(1,100)
y = []
cnt = 0
for i in x:
cnt = 0
j = 1
#Teilen Sie durch die Zahl kleiner oder gleich x
while j <= i:
#Wenn es teilbar ist, ist es ein Bruchteil, also zählen Sie hoch
if x[i-1] % j == 0 :
cnt += 1
j += 1
y.append(cnt)
print(x)
print(y)
def yakusucalc(x1):
cnt = 0
j = 1
Versuchen Sie, durch die Zahl kleiner als # x1 zu teilen
while j <= x1:
#Wenn es teilbar ist, ist es ein Bruchteil, also zählen Sie hoch
if x1 % j == 0 :
cnt += 1
j += 1
return cnt
x = range(1,100)
y = list(map(yakusucalc, x))
print(x)
print(y)
Wenn das Diagramm angezeigt wird, sieht es übrigens so aus.
Der Code zum Anzeigen des Diagramms lautet wie folgt.
# Diese Zeile ist erforderlich, wenn Sie in Jupyter Notebook ausgeführt werden
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import math
x = range(1,100)
# Berechnen Sie die Anzahl der Brüche.
def yakusucalc(x1):
cnt = 0
j = 1
Versuchen Sie, durch die Zahl kleiner als # x1 zu teilen
while j <= x1:
#Wenn es teilbar ist, ist es ein Bruchteil, also zählen Sie hoch
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
Durch die Verwendung der Karte wurde der Code vereinfacht.
Nachtrag (2020/1/26) yakusucalc kann wie folgt in einer Zeile geschrieben werden. (Danke für deinen Kommentar)
def yakusucalc(value):
return sum(value % yakusu == 0 for yakusu in range(1, value + 1))
Recommended Posts