Verschachtelungen: if-Anweisungen in if-Anweisungen in Python (Verschachtelungen: if-Anweisungen in if-Anweisungen in Python), Lektion, Seite 724088
https://www.purl.org/stefan_ram/pub/if-anweisungen_if-anweisungen_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Verschachtelungen: if-Anweisungen in if-Anweisungen in Python 

Es ist auch erlaubt, daß eine Suite einer if-Anweisung ihrerseits wieder eine if-Anweisung enthält.

Die Einrückungen werden dann entsprechend addiert.

Quelltext
if True:
print( "ok" )
Quelltext
if True:
if True:
print( "ok" )
Funktionsdefinition
def gruppe( zahl ):
if zahl < 0:
return 'negativ'
else:
if zahl == 0:
return 'Null'
else:
return 'positiv'
Protokoll
print( gruppe( 0 ))
Null
Programm
def abenteuerspiel():
print( "Sie sind zu Hause. Was machen Sie?" )
print( " k - ins Kino gehen." )
print( " h - zu Hause bleiben." )
entscheidung = input( "? " )
if entscheidung == 'k':
print( "Sie sind jetzt im Kino." )
print( "Welchen Film wollen Sie sehen?" )
print( " a - Abenteuerfilm" )
print( " f - Familienfilm" )
print( " g - Gerichtsfilm" )
entscheidung = input( "? " )
if entscheidung == 'a':
print( "Im Kinosaal ist ein Bär, der alle mit" )
print( "Eiscreme bewirft. Sie haben verloren." )
elif entscheidung == 'f':
print( "Im Kinosaal ist ein Milliardär, der alle mit" )
print( "Geld beschenkt. Sie haben gewonnen." )
elif entscheidung == 'g':
print( "Im Kinosaal ist ein große Loch im Boden." )
print( "Sie fallen in das Loch und haben verloren." )
elif entscheidung == 'o':
print( "Sie haben das Osterei entdeckt!" )
else:
print( "Nicht erlaubte Eingabe. Sie haben verloren." )
elif entscheidung == 'h':
print( "Sie bleiben zu Hause und langweilen sich" )
print( "furchtbar. Sie haben verloren." )
else:
print( "Nicht erlaubte Eingabe. Sie haben verloren." )

Man beachte, daß ein bestimmter Bereich in der Geschichte (beispielsweise das Kino), einem bestimmten Bereich des Quelltextes entspricht!

Funktionen mit mehreren Ausgängen sind bei einer Minderheit von Programierern verpönt. Diese würden statt dem zuvorgezeigten Programm, folgendes schreiben.

Funktionsdefinition
def gruppe( zahl ):
if zahl < 0:
result = 'negativ'
else:
if zahl == 0:
result = 'Null'
else:
result = 'positiv'
return result

Übungsaufgaben

/   Übungsaufgabe

Schreiben Sie eine Definition einer Funktion »kino«, welche die Suite für den Fall »entscheidung == 'k'« aus der Funktion »abenteuerspiel« enthält und rufen Sie die Funktion »kino« dann an Stelle jener Suite in der Definition der Funktion »abenteuerspiel« so auf, daß die Funktion »abenteuerspiel« unter gleichen Umständen weiterhin das gleiche Verhalten wie bisher zeigt aber ihre Definition nun deutlich kürzer geworden ist.

/   Übungsaufgabe

Im Jahre 2009 mußten Polizeibewerber in Berlin, mindestens 160 Zentimeter groß sein, außer wenn sie männlich sind: dann mußten sie mindestens 165 Zentimeter groß sein.

Schreiben Sie eine Definition einer Funktion »ok«, die zwei Argumentwerte akzeptiert: Der erste Argumentwert muß »True« oder »False« sein und soll angeben, ob eine Person weiblich ist, der zweite Argumentwert soll die Körpergröße derselben Person in Zentimetern angeben. Die Funktion soll »True« zurückgeben, wenn die Person im Jahre 2009 in Berlin als Polizeibewerber akzeptabel gewesen wäre (hinsichtlich ihrer Körpergröße).

Zum Schreiben dieser Funktion sollen – wie immer – nur die bisher behandelten Sprachelemente verwendet werden. Bei dieser Aufgabe dürfen in der zu erstellenden Funktionsdefinition aber keine Funktionen aufgerufen und keine if-Ausdrücke verwendet werden.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724088 stefan_ram:724088 Verschachtelungen: if-Anweisungen in if-Anweisungen in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724088, slrprddef724088, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/if-anweisungen_if-anweisungen_python