Maximum Skills

Aufgabe 1
Schreibe ein Programm, das mit input() nacheinander zwei Zahlen als int einliest und jede in einer eigenen Variable speichert. Anschließend soll das Maximum, also die größere der beiden Zahlen bestimmt werden und der Text "Das Maximum ist <zahl>" ausgegeben werden. Sind beide Zahlen gleich, soll stattdessen der Text "Beide gleich!" angezeigt werden.


Maximum Skills+

MERKE
Das Maximum kann man auch einfacher bestimmen, nämlich mit dem vordefinierten Befehl max(erste_zahl, zweite_zahl) Beispiel \

 maximum = max(42, 10)

Aufgabe 2
Lies wieder zwei Zahlen mit input() ein, bestimme das Maximum und gib es mit print aus. Benutze diesmal den Befehl max. Es reicht, wenn einfach nur das Maximum als Zahl ausgegeben wird, extra Hinweistexte und Sonderbehandlung bei zwei gleichen Zahlen braucht es diesmal nicht.

PS: Falls du eigentlich gerade erst bei der vorherigen Aufgabe bist und überlegst, zu cheaten und dort schon diesen Befehl zu benutzen: Don’t! Das hat schon einen Sinn, dass du das erst einmal selbst machen sollst. :)


Magische Miesmuschel

Programmiere eine “Magische Miesmuschel”:

Ablaufdiagramm
Alt text

MERKE
Der Befehl zahl = randint(0, 1) liefert eine zufällige ganze Zahl von 0 bis 1 (also 0 oder 1) und speichert sie in einer Variable (hier: zahl).

Wie dieser Befehl funktioniert, ist für uns an dieser Stelle unwichtig, benutze ihn einfach als “Black box”.

Damit du diesen Befehl verwenden kannst, muss am Anfang deines Programms from random import randint stehen.

Aber das ist alles links im Editor eh schon vorbereitet. :)

REMINDER
Eine while Schleife wiederholt einen eingerückten Block solange die angegebene Bedingung True ergibt. Erst danach werden die Anweisungen drunter ausgeführt:

while bedingung_die_True_oder_False_ergibt:
  mach_irgendwas_solange_bedingung_True

danach mach das hier

Zum Beispiel \

eingabe = ""
while eingabe != "stop":
  print("Weiter?")
  eingabe = input()
print("Tschüüüühüüüsss")

Moving Average

Aufgabe 3

Schreibe ein Programm, das mehrere (Schul-)Noten einließt und während des Einlesens (“on the fly”) deren Durchschnitt berechnet. (Das ist übrigens sehr effizient.)

Tipps:

$$ schnitt_{neu} = schnitt_{alt} + \frac{wert_{neu} - schnitt_{alt}}{anzahl_{werte}} $$

wobei

$$ wert_{neu} $$

der neu eingeführte Wert, also die im aktuellen Schleifendurchlauf hinzugefügte Note ist. Und

$$ anzahl_{werte} $$

ist die Anzahl bisher eingegebener Noten (inklusive der neuen aus dem aktuellen Schleifendurchlauf).


Schaltjahr

Im Jahr 1582 wurde der gregorianische Kalender eingeführt. Seit diesem Jahr gibt es zu Korrekturzwecken Schaltjahre, in denen der Februar 29 Tage hat. Für Schaltjahre gilt folgende Regel:

Ist die Jahreszahl durch 4 teilbar, ist sie ein Schaltjahr,
    außer die Jahreszahl ist auch durch 100 teilbar.
Ist die Jahreszahl darüber hinaus aber auch durch 400 teilbar,
    ist sie doch ein Schaltjahr.

Aufgabe 4

Schreibe Code, der für eine gegebene Jahreszahl berechnet, ob es sich um ein Schaltjahr handelt oder nicht.

Lass dir eine Jahreszahl vom Benutzer/von der Benutzerin eingeben und antworte ihm:r, ob es sich um ein Schaltjahr handelt.

Alt text


Wie oft passt es?

Aufgabe 5

Schreibe Code, der testet, wie häufig eine gegebene ganze Zahl x ganzzahlig ohne Rest durch eine gegebene ganze Zahl y dividiert werden kann (anders ausgedrückt: wie oft der Faktor y in xhinein passt). Beispiel: (432, 6) gibt uns 3 zurück, da 432 dreimal ohne Rest durch 6 geteilt werden kann. Dazu kannst du dir die Zahlen wieder eingeben lassen.


Taschenrechner

Aufgabe 6

Schreibe ein Programm, welches zunächst eine Zahl (ganzzahlig), dann eine Rechenoperation (+,-,*,/) und dann erneut eine Zahl einliest. Dabei soll jede Eingabe in einer eigenen Zeile eingelesen werden. Das Programm soll dann die Rechenoperation und deren Ergebnis ausgeben. Erweitere den Taschenrechner nun so, dass ungültige Eingaben (z.B. ein Buchstabe statt einer Zahl) abgefangen werden.


Unteilbar

Aufgabe 7

Schreibe Code, der wieder unseren Chatbot immitiert. Nun soll die Person, die sich mit dem Chatbot unterhält eine Zahl (ganzzahlig) eingeben können und der Chatbot antwortet, ob es sich dabei um eine Primzahl handelt. Primzahlen sind, wie du sicher weißt, Zahlen, die nur durch sich selbst und 1 teilbar sind. Fange alle ungültigen Eingaben ab. Zusätzlich kannst du das Programm noch erweitern und immer antworten, ob die Zahlen gerade oder ungerade sind. Vielleicht fallen dir noch mehr Eigenschaften von Zahlen ein, die überprüft werden sollen. Klar, Zahlen sind nicht jedermanns Element. Wenn du eine bessere/kreativere Idee für die Kommunikation mit dem Chatbot hast, kannst du auch einfach diese in Code packen :)


Job Interview

Voraussetzungen: Funktionen, Bedingte Anweisungen, Schleifen Die folgende Aufgabe dreht sich um ein (vor allem in den USA gern genutztes) Verfahren, um mit Kindern Teilbarkeitsregeln zu üben. …vielleicht beschäftigen wir uns hier aber auch damit, weil dieser Test sehr gerne in Bewerbungsverfahren genutzt wird. ;)

Aufgabe 8
Schreibe eine Funktion, der ein Parameter x übergeben wird und die alle Zahlen von 1 bis x (vielleicht ja sogar in einer Zeile) ausgibt, wobei jede Zahl durch Fizz ersetzt wird, falls sie durch 3 teilbar ist, durch Buzz, falls sie durch 5 teilbar ist und durch FizzBuzz, falls sie durch 3 und 5 teilbar ist. Der Wert von x soll dabei im Hauptprogramm von der Tastatur eingelesen werden.

MERKE
Achte darauf, den Code so kurz und verständlich wie möglich zu halten und nicht mehrmals den gleichen oder ähnlichen Code zu schreiben! (Recruiter tun das auch!)




Feedback

Du hast Feedback zu diesem Kapitel oder du hast einen Fehler gefunden? Dann schreib mir gerne, damit ich den Fehler schnell beheben kann :)