Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Primzahlen finden mit Phyton (http://www.informatikerboard.de/board/thread.php?threadid=3458)


Geschrieben von Connor am 10.02.2017 um 21:48:

  Primzahlen finden mit Phyton

Meine Frage:
Hi, ich bin totaler Anfänger und finde einfach meinen Fehler im Code nicht.
Ich will einen Code schreiben, in dem man eine Zahl eingibt, und das Programm einen dann sagt, ob es eine Primzahl ist oder nicht.
Mein Code ist folgender:

x = int(input("Geben Sie eine Zahl ein")
for i in range (2, x-1):
a = (x % i)
b = 0
if a == 0:
b = b + 1
if b >= 1:
print("Es handelt sich um eine Primzahl")
else:
print("Es handelt sich um keine Primzahl")

Ich hoffe es ist klar, wie mein Code gedacht war.
Egal welche Zahl ich hier nun eingebe, das Programm sagt mir es wäre eine Primzahl :/

Hat jemand eine Idee, woran es liegen könnte?
Auch sonst bin ich für alle Verbesserungsvorschläge offen.

Meine Ideen:
.



Geschrieben von eulerscheZahl am 11.02.2017 um 06:48:

  RE: Primzahlen finden mit Phyton

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
x = int(input("Geben Sie eine Zahl ein")) # schließende Klammer vergessen
b = 0 # Initialisierung außerhalb der Schleife
for i in range (2, x-1): # theoretisch musst du nur bis sqrt(x) gehen, das spart Rechenzeit
	a = (x % i)
	if a == 0:
		b = b + 1 # hier kannst du schon abbrechen. Es ist klar, dass es keine Primzahl ist
if b == 0: # Bedingung war genau falsch, du hast if und else vertauscht
	print("Es handelt sich um eine Primzahl")
else:
	print("Es handelt sich um keine Primzahl")



Geschrieben von Connor am 11.02.2017 um 14:50:

  RE: Primzahlen finden mit Phyton

Ah nice, so klappt das.
Vielen Dank, werde die Fehler nächstes mal vermeiden smile


Forensoftware: Burning Board, entwickelt von WoltLab GmbH