Kurzlektion zu if und while (Kurzlektion zu if und while), Lektion, Seite 724728
https://www.purl.org/stefan_ram/pub/kurz_if_while_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Kurzlektion zu »if« und »while«

Die if-Anweisung

Die if-Anweisung ist ähnlich aufgebaut wie eine def-Anweisung, das heißt: sie beginnt mit einem Kopf, der mit einem Doppelpunkt endet und dem eine Suite folgen kann.

Beispiel einer if-Anweisung
if False:
print( "Python" )
Ausgabe der obenstehenden if-Anweisung
Beispiel einer if-Anweisung
if True:
print( "Python" )
Ausgabe der obenstehenden if-Anweisung
Python

Die Suite wird ausgeführt, wenn der Ausdruck hinter dem Schlüsselwort »if« einen Wert ergibt, der als wahr gilt (der ›True‹ ist, wenn er nach ›bool‹ gewandelt wird).

Die else-Klause (Alternative in einer if-Anweisung)

Die else-Klausel leitet nach einer if-Anweisung der im vorigen Absatz gezeigten Art, eine Suite ein, die genau dann ausgeführt wird, wenn die Suite hinter der if-Bedinung nicht  ausgeführt wurde (also eine Alternative).

Beispiel mit else-Klausel

eingabe = input( "Benotung? " )

if eingabe in { "sehr gut", "gut", "befriedigend", "ausreichend", "mangelhaft" }:
print( "ok." )

else:
print( "Diese Benotung kenne ich nicht!" )

Die while-Anweisung

Die while-Anweisung ist ähnlich aufgebaut wie eine if-Anweisung, das heißt: sie beginnt mit einem Kopf, der mit einem Doppelpunkt endet und dem eine Suite folgen kann.

Beispiel einer while-Anweisung
while False:
print( "Python" )
Ausgabe der obenstehenden while-Anweisung
Beispiel einer while-Anweisung
while True:
print( "Python" )
Ausgabe der obenstehenden while-Anweisung
Python
Python
Python

Die Suite wird ausgeführt, wenn der Ausdruck hinter dem Schlüsselwort »if« einen Wert ergibt, der als wahr gilt (der ›True‹ ist, wenn er nach ›bool‹ gewandelt wird), und in diesem Fall wird wieder von vorne begonnen (also erneut geprüft, ob der Ausdruck hinter dem Schlüsselwort »if« einen Wert ergibt, der als wahr gilt, woraufhin gegebenenfalls die Suite erneut ausgeführt und wieder von vorn begonnen wird).

Beispiel 0

x = 1

while x:

x = int( input( 'Zahl (0 zum Beenden)? ' ))

print( 'Quadrat = ' + str( x*x ))

Dialog

Zahl (0 zum Beenden)? 2

Quadrat = 4

Zahl (0 zum Beenden)? 9

Quadrat = 81

Zahl (0 zum Beenden)? 0

Quadrat = 0

(Ende des Programms)

Weiteres Beispiel

Weiteres Beispiel

verstaendliche_Eingabe = False

while not verstaendliche_Eingabe:

eingabe = input( "Benotung? " )

if eingabe in { "sehr gut", "gut", "befriedigend", "ausreichend", "mangelhaft" }:
print( "ok." )
verstaendliche_Eingabe = True

else:
print( "Diese Benotung kenne ich nicht!" )
print( "Bitte Eingabe wiederholen!" )

print( "Ende des Programms" )

Übungsaufgaben

/   Erweiterung einer Funktionsdefinition

Erweitern Sie die folgende Funktionsdefinition so, daß sie (zusätzlich zu »n«) ausgibt: „Vorrat verbraucht, nachbestellen!“, genau dann wenn »n« kleiner als »1« ist. Verwenden Sie hierzu eine if-Anweisung, die hinter der derzeit vorhandenen Ausgabeanweisung eingefügt werden soll. Es darf angenommen werden, daß diese Funktion immer nur mit einer ganzen Zahl aufgerufen wird.

Paraphrase der zu erstellenden if-Anweisung (Pseudocode)
Wenn n  kleiner als Eins ist, dann schreibe „Vorrat verbraucht, nachbestellen!“
Quelltext
def vorratAusgeben( n ):
print( n )

/   Übungsaufgabe 0

Schreiben Sie die while-Schleife aus dem Beispiel 0 so um, daß sich die Schleife weiterhin verhält wie im Beispiel 0, aber nach Eingabe von »0« nichts mehr ausgegeben wird.

/   Übungsaufgabe 1

Schreiben Sie die while-Schleife aus dem Beispiel 0 so um, daß die Eingabe einer negativen Zahl zum Beenden führt.

/   Übungsaufgabe 2

Zu tiefe Verschachtelungen sind unübersichtlich. Lagern Sie die Suite der while-Anweisung in eine Funktion aus! Die while-Anweisung soll dann nicht viel mehr als einen Aufruf jener Funktion enthalten.

Weiteres Beispiel

verstaendliche_Eingabe = False

while not verstaendliche_Eingabe:

eingabe = input( "Benotung? " )

if eingabe in { "sehr gut", "gut", "befriedigend", "ausreichend", "mangelhaft" }:
print( "ok." )
verstaendliche_Eingabe = True

else:
print( "Diese Benotung kenne ich nicht!" )
print( "Bitte Eingabe wiederholen!" )

print( "Ende des Programms" )

 

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 stefanram724728 stefan_ram:724728 Kurzlektion zu if und while Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724728, slrprddef724728, 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/kurz_if_while_python