Bedingungen

Ein paar kleinere Übungen zur bedingten Verzweigung

Achtung: Hier müsst Ihr nur eine Funktion und den oder die Rückgabewerte definieren. Eine Ein- oder Ausgabe ist nicht nötig (und würde eh zu falschen Testergebnissen führen.) 

Coding Exercise: gerade oder ungerade?
Schreibe eine Funktion istGerade(n), die prüft, ob die Integervariable n gerade oder ungerade ist. Ist n gerade, soll sie True ausgeben, sonst False.

Beispiele

  • istGerade(5) gibt False zurück
  • istGerade(0) gibt True zurück

Tipp

Im Folgenden sollst Du Dir auch Gedanken über die Implementierung verschiedener Funktionen machen, die es in Python eventuell schon gibt. Diese Funktionen, z.B. min() und max(), darfst Du aber nicht benutzen. :-P

Coding Exercise: Minimum
Schreibe eine Funktion Minimum(a, b), die die kleinere der beiden Zahlen a und b zurückgibt.

In der Mathematik gibt es neben der Betragsfunktion (in Python: abs() auch die Signum-Funktion, die das Vorzeichen einer Zahl x zurück gibt.
Es gilt: x = Signum(x) * Betrag(x)

Coding Exercise: Vorzeichen
Schreibe eine Funktion vorzeichen(a), die -1 zurück gibt, wenn a negativ ist, 1, wenn a positiv ist, und 0 sonst, wenn a Null ist.
Arbeite mit if, elif und else.

Mit der folgenden Information habe ich vor über 20 Jahren eine Flasche Sekt gewonnen, weil jemand dachte, 2000 sei kein Schaltjahr. :-) (1900 war ja tatsächlich keines.)

Coding Exercise: Schaltjahr?

Schreibe eine Funktion istSchaltjahr(Jahr), die prüft, ob die Integervariable Jahr ein Schaltjahr ist. Ist Jahr ein Schaltjahr, soll sie True zurückgeben, sonst False.

Jahr ist ein Schaltjahr

  • falls Jahr durch 400 teilbar ist, oder
  • falls Jahr durch 4 teilbar ist, aber nicht durch 100

Tipp

Coding Exercise: Lineare Gleichung

Schreibe eine Funktion loeseLG(a, b), die eine lineare Gleichung der Form ax=b löst, wobei a und b Integervariablen sind und a sowie b auch Null sein dürfen. Die Funktion soll entweder die Lösung der Gleichung ausgeben, oder 'keine', wenn die Gleichung keine Lösung hat, bzw. 'viele', wenn sie unendlich viele Lösungen hat..

Beispiele

  • loeseLG(0, 17) gibt 'keine' zurück.
  • loeseLG(2, 1) gibt 0.5 zurück.
  • loeseLG(0, 0) gibt 'viele' zurück.