Zusammenfassung
In dieser Lektion hast du gelernt:
if bedingung then … endführt seinen Block nur aus, wenn die Bedingung wahr ist.thenundendbestimmen, was zum Block gehört; die Einrückung um 4 Leerzeichen zeigt es den Menschen.elsefügt einen Zweig für den Fall hinzu, dass die Bedingung falsch ist, undelseif(ein Wort) fügt weitere Zweige mit eigenen Bedingungen hinzu. Nur der erste wahre Zweig läuft, deshalb kommt es auf die Reihenfolge an. Einendschließt die ganze Anweisung;else ifbräuchte noch eines.- Vergleichsoperatoren vergleichen zwei Werte:
==,~=(nicht!=),<,>,<=und>=.=weist zu,==vergleicht. Texte sind nur gleich, wenn sie genau übereinstimmen. Eine Zahl ist nie gleich einem Text, und sie mit<oder>zu vergleichen ist ein Fehler. - Eine Variable, die du in einem Block mit
localerzeugst, existiert nur bis zum Ende des Blocks. Erzeuge sie vor demifund ändere sie in den Zweigen. and,orundnotverknüpfen Bedingungen. Jeder Teil muss ein vollständiger Vergleich sein, undnotgilt nur für den Wert direkt dahinter. Klammern gruppieren Bedingungen.- Nur
falseundnilzählen als falsch.0und""zählen als wahr.if x thenfragt, obxeinen Wert hat (nichtnilist). x or standardliefert einen Standardwert stattnil.bedingung and a or bwählt zwischen zwei Werten, solangeanichtfalseodernilist.- Ein
ifkann in einem anderenifverschachtelt sein; jedesendschließt das nächste offeneif. - Ein Bereich braucht zwei Vergleiche:
t >= 10 and t <= 25.10 <= t <= 25ist ein Fehler. In einerelseif-Kette kann sich jeder Zweig darauf verlassen, dass die Bedingungen darüber falsch sind.
Als Nächstes kommt ein kleines Projekt, in dem du alles aus den ersten drei Lektionen selbst ausprobierst. Danach lernst du in der Lektion über Schleifen, ein Programm Code wiederholen zu lassen: zum Beispiel, um alle Tage einer Saison durchzugehen.
So schreibst du es:
Anweisungen
- 1
Übung: Der Händler Hugo zahlt 10 Münzen für einen Kürbis unter 4 kg, 20 Münzen für einen von 4 bis 8 kg und 35 Münzen für einen schwereren. Schreibe anstelle des Kommentars eine
if-Anweisung mitelseifundelse, diepreissetzt. Bei 9 kg gibt das Programm Folgendes aus:Kürbis: 9 kg Preis: 35 Münzen - 2
Ein Kürbis, der nicht reif ist, ist nur halb so viel wert. Füge unter deiner
if-Anweisung eine weitere hinzu, die den Preis mitpreis // 2halbiert, wenn der Kürbis nicht reif ist (benutzenot). Addiere dann Hugosbonuszum Preis.bonuskannnilsein, benutze alsoor, damit ein fehlender Bonus als0zählt, und setze diesen Teil in Klammern:(bonus or 0). Das Programm gibt weiterhinPreis: 35 Münzenaus. - 3
Probiere einen anderen Kürbis aus: Ändere
gewichtin8,istReifinfalseundbonusin3. Das Programm gibt Folgendes aus:Kürbis: 8 kg Preis: 13 MünzenWenn es einen anderen Preis ausgibt, prüfe die Grenzen: Ein Kürbis von 8 kg ist noch mittel.