For Bedingung - mit break 01

IF, For, While, etc.
Antworten
Benutzeravatar
gerhard-schrueffer
Site Admin
Beiträge: 75
Registriert: Fr Jan 26, 2018 9:25 pm

For Bedingung - mit break 01

Beitrag von gerhard-schrueffer »

# -*- coding: utf-8 -*-

for n in range(2, 8): # Wertebereich der Range zuweisen
for x in range(2, n):
if n % x == 0:
print(n, 'gleich', x, '*', n//x)
else:
print(n, 'eine Primzahl gefunden') # Schleife wurde durchlaufen, mit Primzahl gefunden

Hier wird die Schleife durchlaufen, und wenn etwas laut IF – Bedingung gefunden wird, wird es ausgegeben. Wenn nicht wird der Else-Zweig ausgegeben. Bedingt durch das Wertepaar in der Range wird dies öfters durchlaufen.

Bild


# Beispiel mit break
for n in range(2, 8): # Wertebereich der Range zuweisen
for x in range(2, n):
if n % x == 0:
print(n, 'gleich', x, '*', n//x)
break
else:
print(n, 'eine Primzahl gefunden') # Schleife wurde durchlaufen, ohne dass ein Faktor gefunden wurde

Hier wird die Schleife durchlaufen, und wenn etwas laut IF – Bedingung gefunden wird, wird es ausgegeben. Durch den Break Befehl wird wenn etwas gefunden wird der aktuelle Schleifendurchlauf beendet.

Bild

Was sagt das if n % x == 0: aus
Es zeigt, wie viel übrig bleibt, nachdem man eine ganzzahlige Division durchgeführt haben, z.B.:
% 5 == 3, zeigt 20/5 == 4 und 3 bleibt übrig.

n% y == 0 wenn n durch y teilbar ist. Dies ist nützlich beim Faktorisieren von Prime Zahlen,
und im Fall von y == 2, um zu überprüfen, ob die Zahl n gerade ist.
Antworten