137
5.5
Iteration über eine Kollektion (for)
Beachten Sie, dass das erste Zeichen mit Nummer 32 ein Leerzeichen ist.
Ruft man die Funktion
range(start, stop, step) mit drei Argumenten auf, so gibt das
letzte Argument die Differenz zwischen einer Zahl und der folgenden Zahl der erzeugten
Liste an (Schrittweite). Die folgende Zählschleife gibt gerade Zahlen aus:
Bei negativer Schrittweite fallen die Werte in der Liste. Beispiel:
5.5.2 Verschachtelte Iterationen
Im Anweisungsblock einer Iteration kann wiederum eine Iteration vorkommen. Man
spricht dann von verschachtelten Iterationen. Auf diese Weise können sehr komplexe (und
manchmal schwer durchschaubare) Strukturen aufgebaut werden. Ein Anwendungsbei-
spiel ist das Testen eines logischen Schaltnetzes. Abbildung 5.5 zeigt ein Beispiel eines
Schaltnetzes, das aus einem AND-Gatter und einem OR-Gatter besteht.
Abb. 5.5: Schaltnetz
Jedes der Eingangssignale a, b, c und das Ausgangssignal x kann die Werte 0 oder 1 entspre-
chend den Wahrheitswerten
FALSCH und WAHR annehmen. Die Eingänge und der Ausgang
können durch Variablen repräsentiert werden. Der Wert des Ausgangssignals berechnet
sich nach folgender aussagenlogischer Formel:
>>> for i in range(32, 128):
print(chr(i), end=" ")
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; <= > ? @ A B C D E F G H
I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p
q r s t u v w x y z { | } ~
>>> for i in range(-6,6,2): print(i, end=" ")
-6 -4 -2 0 2 4
>>> for i in range(10, 0, -1): print(i, end=" ")
10 9 8 7 6 5 4 3 2 1
x = (a or b) and c
>=1
&
a
b
c
x
OR-Gatter
AND-Gatter
Kapitel 5
Kontrollstrukturen
138
Das folgende Skript gibt nun für jede denkbare Belegung der Eingangsvariablen a, b, c den
logischen Wert der Ausgangsvariablen
x an.
Ausgabe:
Mit zwei verschachtelten Zählschleifen können Sie systematisch alle Paare aus den Zahlen
0 bis 3 aufzählen lassen. Die allein stehende print()-Anweisung am Ende der äußeren
Schleife (
#1) bewirkt, dass beim nächsten Durchlauf eine neue Zeile begonnen wird.
Ausgabe:
# Belegungen einer aussagenlogischen Formel
print("a b c (a or b) and c") # Überschrift
print("---------------------")
for a in [0, 1]:
for b in [0, 1]:
for c in [0, 1]:
x = (a or b) and c
print(a, b, c, " ", int(x))
a b c (a or b) and c
---------------------
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
for i in range(4):
for j in range(4):
print((i,j), end=" ")
p r i nt( ) #1
(0, 0) (0, 1) (0, 2) (0, 3)
(1, 0) (1, 1) (1, 2) (1, 3)
(2, 0) (2, 1) (2, 2) (2, 3)
(3, 0) (3, 1) (3, 2) (3, 3)

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.