planeten = ["Merkur", "Venus", "Erde", "Mars", "Jupiter", "Saturn", "Uranus", "Neptun"]
for planet in planeten:
print(planet, end=" ") #Alle auf derselben Zeile
Merkur Venus Erde Mars Jupiter Saturn Uranus Neptun
Die for Schleife braucht:
multiplikanten = (2, 2, 2, 3, 3, 5)
produkt = 1
for mult in multiplikanten:
produkt = produkt * mult
produkt
360
Du könntest sogar jeden Charakter in einem String wiederholen:
s = 'steganographie ist die Art des verbergens einer datei, nachricht, biLd, oder video innerhaLb einer weiteren datei, nachricht, bild, Oder video.'
msg = ' '
# Drucke alle Großbuchstaben in S in einer Wurst aus.
for char in s:
if char.isupper():
print(char, end='')
HALLO
range()
range() ist eine Funktion, die eine Sequenz von Zahlen ins return schickt, was ziemlich nützlich für schleifen ist.
for i in range(5):
print("An was Wichtigem arbeiten. i =", i)
An was Wichtigem arbeiten. i = 0
An was Wichtigem arbeiten. i = 1
An was Wichtigem arbeiten. i = 2
An was Wichtigem arbeiten. i = 3
An was Wichtigem arbeiten. i = 4
i = 0
while i < 10:
print(i, end=" ")
i += +1 #Immer am ende +1 zu i addieren.
0 1 2 3 4 5 6 7 8 9
Die Bedingung in der while Schleife wird wie ein Boolescher Wert gezählt. Es wird so lange arbeiten,
würfel = [n**2 for n in range(10)]
würfel
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
So würden wir das machen, wenn es keine List Comprehensions gäbe.
würfel = [ ]
for n in range(10):
würfel.append(n**2)
würfel
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Dazu können wir auch if verzweigen hinzufügen
kleine_planeten = [planet for planet in planeten if len(planet) < 6]
kleine_planeten
["Venus", "Erde", "Mars"]
(Falls du schon im Schulfach Datenbanken mit SQL begonnen hast, könntest du dir das wie eine
#str.upper() schickt den String in Blockbuchstaben ins return.
laute_kleine_planeten = [planet.upper() + "!" for planet in planeten if len(planet) < 6]
laute_kleine_planeten
["VENUS!", "ERDE!", "MARS!"]
Normalerweise wird das in einer Zeile aufgeschrieben, aber vielleicht ist es klarer wenn es in 3 Zeilen
[
planet.upper() + "!"
for planet in planeten
if len(planet) < 6
]
["VENUS!", "ERDE!", "MARS!"]
(weil wir schon dabei sind, unsere Beispiele mit SQL zu vergleichen, könntest du diese 3 Zeilen als SELECT, FROM und WHERE sehen)
Der Baustein links muss nicht immer etwas mit der Loop Variable zu tun haben. Es wäre aber äußerst sonderbar, wenn es nichts
[32, 32, 32, 32, 32, 32, 32, 32]
def zaehle_negative(zahlen):
"""Schickt die Anzahl der negativen Zahlen in einer Liste ins return.
>>> zaehle_negative([5, -1, -2, 0, 3])
2
"""
z_negative = 0
for zahl in zahlen:
if zahl < 0:
z_negative = z_negative + 1
return z_negative
def zaehle_negative(zahlen):
return len([zahl for zahl in zahlen if zahl < 0])
def zaehle_negative(zahlen):
\*
Zur Erinnerung:
In der Übung Boolesche Werte und Bedingungen haben wir herausgefunden, dass
Python lustigerweise True + True + False + True wie eine 3 sieht.
\*
return sum ([zahl < 0 for zahl in zahlen])