Zum if-Ausdruck in Python (Zum if-Ausdruck in Python), Lektion, Seite 724058
https://www.purl.org/stefan_ram/pub/if-ausdruck-anwendungen_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Zum if-Ausdruck in Python 

Trägheit

Ein if-Ausdruck wertet entweder den ersten oder den letzten Operanden aus, aber nicht beide.

Alle anderen bisher vorgestellten Operatoren werteten immer alle  ihre Operanden aus.

Protokoll
print( 'ja' )== print( 'nein' )

ja

nein

True

Protokoll
print( 'ja' )if True else print( 'nein' )
ja
Protokoll
print( 'ja' )if False else print( 'nein' )
nein

Ein Operandenstelle eines Operators ist strikt, wenn ihr Operator immer ausgewertet wird, sonst wird sie träge  (faul) genannt.

Die obigen Beispiele dienten nur zur Veranschaulichung der Trägheit (Faulheit). Normalerweise würde man kürzer schreiben:

Protokoll
print( 'ja' if True else 'nein' )
ja
Protokoll
print( 'ja' if False else 'nein' )
nein

Auswertung von Operatorausdrücken

Hier sieht man Beispiele mit Operatorausdrücken als Bedingung.

Protokoll
print( 'A' if 2 + 5 else 'B' )
A
Protokoll
print( 'A' if 2 < 5 else 'B' )
A

Auswertung von Laufzeitwerten

Dieses Programm liest eine Temperatur ein und gibt »zu kalt« aus, wenn sie nicht über 18 liegt.

Protokoll
print( 'ok' if int( input( 'Temperatur? ' ))>18 else 'zu kalt!' )
Temperatur? 20
ok

Dieses Programm implementiert ein einfaches Glücksspiel mit einer Gewinnwahrscheinlichkeit von zehn Prozent.

Protokoll

from random import random

print( ( 'Gewonnen' if random() > 0.9 else 'Verloren' )+ '!' )

Verloren!

Hier erscheint der Ausdruck »'Gewonnen'« zuerst, weil der Autor zuerst daran  gedacht hatte, obwohl es eigentlich viel häufiger vorkommt, daß sich »'Verloren'« als Wert des if-Ausdrucks ergibt.

Die Lösung mit »choices« ist besser, weil sie die Absichten des Autors expliziterter zum Ausdruck bringt, etwa durch die Verwendung der Wörters “choices ” und “weights ”.

Protokoll

from random import choices

print( choices(( 'Gewonnen!', 'Verloren!' ), weights=( 1, 9 )))

Verloren!

Übungsaufgaben

/   Übungsaufgabe

Schreiben Sie ein Skript, bei dessen Ausführung eine Temperatur eingelesen und »ok« ausgegeben wird, wenn die Temperatur unter 25 liegt, und sonst »zu heiss!« (an Stelle des Doppel-S darf auch ein Eszett verwendet werden.).

/   Übungsaufgabe ⃗

Schreiben Sie eine Anweisung, bei deren Ausführung mit fünfzigprozentiger  Wahrscheinlichkeit »Kopf« ausgegeben wird, und sonst »Zahl«.

/   Übungsaufgabe *

Falls ein Wort aus der linken Spalte eingegeben wird, soll das Wort ausgegeben werden, das sich in derselben Zeile in der rechten Spalte befindet.

Tabelle der Eingaben und Ausgaben
Tisch    table
Haus house
Sonne sun
Erde earth

Dieses Programm soll verschachtelte if-Ausdrücke verwenden, um Eingaben aus der linken Spalte zu erkennen und dann gegebenenfalls das entsprechende Wort aus der rechten Spalte festzulegen, so daß keine weiteren Vergleiche ausgewertet werden, wenn das Wort bereits gefunden wurde.

Poll *

Pep 308

 

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 stefanram724058 stefan_ram:724058 Zum if-Ausdruck in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724058, slrprddef724058, 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-ausdruck-anwendungen_python