Bedingte Anweisungen können einen beliebigen Codeblock enthalten. Sie können print-Anweisungen, Variablenzuweisungen und sogar andere if/else-Blöcke enthalten.
if name == 'Anna':
print('Hello, Anna')
salary = 1000
if not 18 <= age <= 30:
print('You are not Anna, stop lying')
salary = -1
else:
if name == 'Bob':
print('How are you doing, Bob?')
salary = 900
else:
print('I probably do not know you...')
Dies ist ein Beispiel dafür, wie die Verschachtelung von bedingten Anweisungen aussehen kann. Es kann noch tiefer gehen:
if a:
...
else:
if b:
...
else:
if c:
if d:
...
else:
...
Codeblöcke werden also mit 4 Leerzeichen eingerückt, und der Rumpf einer if-Anweisung erscheint „innerhalb“ der Anweisung. Der Rumpf einer if/else-Anweisung kann beliebig sein und andere if/else-Anweisungen enthalten.
Herausforderung
Schreibe ein Programm, das einen Namen einliest und, wenn der Name Alice ist, Alice mit Hey there! begrüßt. Andernfalls soll es I don't know you ausgeben. Das Programm soll auch das Gehalt einlesen, das Alice möchte, und Sounds good ausgeben, wenn das Gehalt unter 10000 liegt, sonst soll es Let's discuss this a little ausgeben.