Python Primzahlen Berechnung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
cheeky94
User
Beiträge: 1
Registriert: Dienstag 5. Februar 2019, 09:05

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
Benutzeravatar
__blackjack__
User
Beiträge: 14040
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Antworten