Seite 1 von 1

Python Primzahlen Berechnung

Verfasst: Dienstag 5. Februar 2019, 09:17
von cheeky94
Hallo zusammen, mein erster Post hier :)

Ich habe gestern angefangen mich ein wenig mit Python zu beschäftigen, weil es eine super Sprache zu sein scheint.
Zu meinem Problem:

Ich wollte zum Einstieg in die Sprache ein kleines Programm schreiben, was den User eine Zahleneingabe machen lässt, und anschließend bis zu eingegebener Zahl alle Primzahlen berechnet und Ausgibt. Leider funktioniert mein Debugger nicht (evtl. könnt ihr damit später auch helfen),
aber das wäre meine grundlegende Idee:

a = int(input("Enter a number: "))
count = 1
check = 0
while count <= a:
i = 1
while i <= a:
if count % i == 0:
check += 1
if i == a and check == 2:
print(count)
i += 1
count += 1

Ich hatte an eine doppelte Schleife gedacht, bei der "count" für die Zahlen steht, die nacheinander auf Prim getestet werden sollen und "i" als Zählvariable gilt, die von "1" bis "a" läuft, um "count" durch "i" zu teilen und zu sehen, ob der Rest bei den Divisionen = 0 ist. Sollte das der Fall sein soll die "check" variable um eins erhöht werden und anschließend eine Ausgabe der Zahl "count" gemacht werden, insofern das Ende der inneren Schleife erreicht ist, und "check" als Wert 2 hat, weil das bedeuten würde, die Zahl ist nur durch 1 und sich selbst teilbar.

Zumindest soweit meine Gedanken, leider funktioniert das Programm aber überhaupt nicht. Bitte habt nachsehen mit einem Neuling :)
Würde mich über ein paar Denkanstöße sehr freuen

Grüße
Cheeky

Re: Python Primzahlen Berechnung

Verfasst: Dienstag 5. Februar 2019, 10:45
von __blackjack__
@cheeky94: Die Einrückung ist zumindest schon mal falsch. Fang mal einfacher an und schreibe einfach nur eine Schleife die `count` von 1 bis 10 hochzählt. Wenn Du das hinbekommen hast, vergleiche den Code mal mit dem was hier gezeigt hast – da sollte Dir dann ein Unterschied auffallen.

Wenn das geklappt hat, vergisst Du Deine Primzahlen für einen Augenblick und lernst die Python-Grundlagen mindestens bis zu ``for``-Schleifen, denn diese ``while``-Schleifen würde man so nicht schreiben wenn man ``for``-Schleifen kennt.