Python Primzahlen von 1 - 100.000 zählen?
Hey Leute, Ich bin grade dabei die Anfänge von Python zu lernen, und habe jetzt alle Primzahlen von 1 bis 100.000 ausrechnen lassen. Jetzt möchte ich mir die anzahl der Ergebnisse anzeigen lassen. Ich habe mir die Primzahlen so ausrechnen lassen:
endrange=100000
print("Primzahlen von 1 bis {0:d}: ").format(endrange)
for i in range(2,endrange): teilbar = False for j in range(2,i): if i % j == 0: teilbar = True if teilbar == False: print(i)
Also was muss ich da noch dazuschreiben, dass ich die anzahl der Primzahlen von 1 - 100.000 dazubekomme?
MFG
5 Antworten
Ich hab's jetzt schon hinbekommen. Habe einfach eine neue Variable erstellt, die am Anfang den Wert 0 hat, und pro Primzahl wird dann immer ein dazugerechnet.
Erst musst du die Primzahlen in eine Liste speichern (Auch Array genannt).
Erst erstellst du eine Liste:
primzahlen = []
Nach dem print(i), speicherst du dann die gefundene Primzahl in die Liste:
primzahlen.append(i)
Ganz am Ende vom Programm, kannst du dann die Anzahl der Elemente die sich in der Liste befinden ausgeben, also die Anzahl der gefundenen Primzahlen:
print("Anzahl gefundener Primzahlen: ", len(primzahlen))
So hättest du dann alle Primzahlen nochmal gespeichert und könntest andere Dinge damit machen.
Alternativ kannst du auch einfach nach dem print(i) eine Zählvariable inkrementieren und am Ende den Wert ausgeben, aber so kannst du dich mit Listen vertraut machen.
Verwende eine Variable Zähler, den du innerhalb deines "if teilbar" inkrementierst.
n = 1
p = 1
while n < 100000:
prim = True
if n == 1:
prim = False
else:
i = 2
while i <= n - 1:
if n % i == 0:
prim = False
i += 1
if prim == True:
print(p,"-te Primzahl:")
p += 1
print(n)
n += 1
Da gibts glaub ich auch eine allgemeine formel füt die bere hnung