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 Befehlmax(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”:
- Programm begrüßt Nutzer mit Seid gegrüßt! Was begehrt Ihr zu erfahren?
- Programm erhält als Eingabe eine Ja/Nein-Frage
- Antwortet zufällig mit Ja/Nein
- Das wiederholt sich solange, bis Genug gehört eingegeben wird. Danach soll Gehabt euch wohl! ausgegeben werden
Ablaufdiagramm
MERKE
Der Befehlzahl = 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
Einewhile
Schleife wiederholt einen eingerückten Block solange die angegebene BedingungTrue
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:
- Frage zuerst danach, wie viele Noten der Benutzer insgesamt eingeben möchte.
- Lies diese Noten mit einer Schleife ein und
- berechne währenddessen den Durchschnitt mit
$$ 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.
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!)