| |
|
| |
|
| |
|
|
|
Hier eine Funktion wetter(), wie sie einige von euch geschrieben haben:
def wetter():
luftdruck = raw_input('Luftdruck: ')
temperatur = raw_input('Temperatur: ')
jahreszeit = raw_input('Jahreszeit: ')
if (luftdruck == 'steigt' and temperatur == 'steigt' and jahreszeit == 'Sommer'):
print text1
if (luftdruck == 'steigt' and temperatur == 'fällt' and jahreszeit == 'Winter'):
print text2
if (luftdruck == 'fällt' and temperatur == 'fällt' and jahreszeit == 'Sommer'):
print text3
if (luftdruck == 'fällt' and temperatur == 'steigt' and jahreszeit == 'Winter'):
print text4
else:
print sonst
Schauen wir uns einen Testlauf an:
>>> wetter() Luftdruck: steigt Temperatur: steigt Jahreszeit: Sommer Pack die Badehose ein, nimm dein kleines Schwesterlein ... Nichts Genaues weiß man nicht! >>> wetter() Luftdruck: steigt Temperatur: fällt Jahreszeit: Winter Hei, hei, hei, so eine Schneeballschlacht ... Nichts Genaues weiß man nicht! >>> wetter() Luftdruck: fällt Temperatur: fällt Jahreszeit: Sommer I'm singing in the rain ... Nichts Genaues weiß man nicht! >>> wetter() Luftdruck: fällt Temperatur: steigt Jahreszeit: Winter Leise rieselt der Schnee ... >>>
Fragen zu diesem Testlauf:
Wenn ich die Antwort auf die Frage in der Überschrift wüsste, wäre ich nicht mehr hier, sondern würde Seminare veranstalten und Millionen verdienen, mindestens . . . Trotzdem gibt es natürlich einige Tipps:
Wie lösen wir das Problem der Wettervorhersage? Durch logisches Denken! Überlege:
Wenn Fall 1 vorliegt, gib Text 1 aus,
Sonst: Wenn Fall 2 vorliegt, gib Text 2 aus,
Sonst: Wenn Fall 3 vorliegt, gib Text 3 aus,
Sonst: Wenn Fall 4 vorliegt, gib Text 4 aus,
Sonst (und nur sonst!): gib den Text "Nix genaues ..." aus
Statt Wenn sagen wir if, und statt Sonst schreiben wir else, das gibt also viele (!) ifs und elses, Beispiel:
if (luftdruck == 'steigt' and temperatur == 'steigt' and jahreszeit == 'Sommer'):
print text1
else:
if (luftdruck == 'steigt' and temperatur == 'fällt' and jahreszeit == 'Winter'):
print text2
else:
if (luftdruck == 'fällt' and temperatur == 'fällt' and jahreszeit == 'Sommer'):
print text3
.
.
.
Problem: hier kommt man schnell durcheinander, spätestens beim Einrücken. Die Alternative sieht so aus:
if (luftdruck == 'steigt' and temperatur == 'steigt' and jahreszeit == 'Sommer'):
print text1
elif (luftdruck == 'steigt' and temperatur == 'fällt' and jahreszeit == 'Winter'):
print text2
elif (luftdruck == 'fällt' and temperatur == 'fällt' and jahreszeit == 'Sommer'):
print text3
.
.
.
Es wird also ein else und das darauffolgende if zusammengefasst zu einem elif, kurz: else + if = elif, und dies solltest du unbedingt in deinem Programm einbauen, siehe Aufgabe 1.
<<<