Schwierigkeitsgrad: Einfach
Nötiges Vorwissen: Grundlagen
Auftrag:
3
eingegeben werden.3
eingegeben hat (es ist also z.B. 15:38 Uhr oder 03:16 Uhr), so soll die Turtle im Uhrzeigersinn eine 4tel Umdrehung ablaufen.Schwierigkeitsgrad: Mittel
Vorwissen: Grundwissen bis und mit while-Schleife
Name des Files: taschenrechner.py
Programmiere einen einfachen Taschenrechner für ganze Zahlen, mit welchem man Addieren, Subtrahieren, Multiplizieren und mit Rest Dividieren kann.
Der User soll gefragt werden, welche Operation er durchführen möchte: Addition, Subtraktion, Multiplikation oder Division (mit Rest). Damit man nicht viel schreiben muss, könnte man jeder Operation eine Zahl oder ein Buchstabe zuordnen. Über zwei Inputs soll man dann hintereinander die beiden Zahlen eingeben können. Das Resultat wird berechnet und ausgegeben.
Tipp: Die Division mit Rest ist in Python bereits vorprogrammiert. Beispiel: 20 / 6 = 3 Rest 2. Den Ganzzahlquotienten 3 erhält man mit der Operation 20//6
und der Rest mit 20%6
.
Man soll beliebig viele Operationen hintereinander durchführen können. Stichwort: while-Schleife.
Man soll auch die Möglichkeit haben, das Programm zu verlassen, z.B. wenn man die Q (für Quit) eingibt. Tipp: Aus einer while-Schleife kann man mit dem Befehl break
ausbrechen.
Schreibe nun den Multiplikationsblock und den Divisionsblock selbst. Du darfst nur Additionen und Subtraktionen verwenden!
Verpasse deinem Code nun noch den Feinschliff. Zum Beispiel sollst du dir überlegen, wie dein Code reagieren soll, wenn der User eine nicht vorgesehene Eingabe macht.
Gestalte nun einen Taschenrechner mit einer graphischen Oberfläche mithilfe von TurtleGraphics.
Schwierigkeitsgrad: Mittel bis anspruchsvoll
Vorwissen: Grundwissen bis und mit while-Schleife
Name des Files: sbb_uhr.py
Programmiere mit TurtleGraphics eine 'analoge Uhr', welche die aktuelle Uhrzeit anzeigt. Die Uhr soll Stunden einen Stundenzeiger, Minutenzeiger und Sekundenzeiger haben.
Die aktuelle Uhrzeit kannst du mit dem datetime Modul abrufen, welches du zuerst noch importieren musst:
from datetime import datetime now = datetime.now()
Die Stunde, Minute und Sekunde erhälst du dann wie folgt: now.hour, now.minute, now.second
Die Uhr soll schön gestaltet werden. Beispiel: SBB-Uhr.
Hintergrundbild:
Bild einfügen:
fritz = Turtle() Options.setPlaygroundSize(1000,1000) fritz.drawImage("sbb.jpg")
Wichtig: Bild muss in gleichem Ordner abgelegt werden, wie sich das Projekt befindet.
Schwierigkeitsgrad: Mittel bis anspruchsvoll
Vorwissen: Grundwissen, bis und mit while-Schleife
Name des Files: digitale_uhr.py
Programmiere mit TurtleGraphics eine 'digitale Uhr', welche die aktuelle Uhrzeit anzeigt. Angezeigt werden sollen: Stunde:Minute: Sekunde
Die aktuelle Uhrzeit kannst du mit dem datetime Modul abrufen. Mehr Info dazu findest du bei der Aufgabe SBB-Uhr.
Schwierigkeitsgrad: Anspruchsvoll
Vorwissen: Grundwissen bis und mit while-Schleife
Name des Files: euklid.py
Der Euklidische Algorithmus ist sehr hilfreich zur Bestimmung des größten gemeinsamen Teilers (ggT). Wenn man zwei Zahlen a und b gegeben hat, dann bestimmt man den größten gemeinsamen Teiler ggT(a,b) von a und b folgendermaßen:
Es ist der ggT von 544 und 391 gesucht.
$544:391 = 1$; Rest 153
$391:153 = 2$; Rest 85
$153:85 = 1$; Rest 68
$85:68 = 1$; Rest 17
$68:17 = 4$; Rest 0
Die Divison geht auf, der ggT von 544 und 391 ist 17.
Versuche ein Programm zu schreiben, bei welchem mithilfe des Euklidischen Algorithmus' der ggT von zwei Zahlen berechnet wird.
Schwierigkeitsgrad: Mittel
Vorwissen: TurtleGraphics inkl. Kapitel Farben
Name des Files: kandinsky.py
Wassily Kandinsky (1866-1944) war ein russischer Maler, der für seine abstrakten Gemälde berühmt ist.
Auftrag 1: Schreibe einen Code, der mithilfe von Turtlegraphics Kandinskys Bild möglichst gut reproduziert:
Speichere das Bild unter dem Namen kandinsky_1.py
Auftrag 2: Schaue dir ein paar weitere Bilder von Kandinsky an (z.B. hier: https://www.wassilykandinsky.net/painting1896-1944.php). Zeichne dann mit Turtlegraphics deinen eigenen Kandinsky.
Speichere das Bild unter dem Namen kandinsky_2.py
Schwierigkeitsgrad: Einfach
Vorwissen: Funktionen
Definiere die Funktion bueno(n)
. Ein Kinder-Bueno kostet am KSR Selecta-Automat 1.30 Fr. Die Funktion soll zurückgeben, wieviel n Buenos kosten.
Wieviel kosten: 3, 7 und 1200 Buenos? Wieviel Geld gibst du pro Monat oder Jahr etwa für Buenos aus?
Definiere eine Funktion bmi(m,l)
, die die Masse $m$ (in kg) und die Grösse $l$ (in Metern) entgegen nimmt und den entsprechenden Body Mass Index (BMI) zurückgibt. Die Formel für diesen ist $m/l^2$.
Siehe: https://de.wikipedia.org/wiki/Body-Mass-Index
Welchen BMI haben Fritz (110kg, 1.72m) und Monika (65kg, 1.64m)?
Definiere die Funktion nimm_kleinere(a,b)
.
Diese nimmt zwei Zahlen entgegen und gibt die kleinere der beiden zurück.
Teste die Funktion anhand von drei unterschiedlichen Beispielen.
Das Ziel dieser Aufgabe ist es, einen Generator für Lottozahlen zu erstellen. Im Schweizer Lotto werden 6 aus 42 Zahlen gezogen plus eine Zusatzzahl zwischen 1 und 6. Schreibt diese 6 Zahlen in eine Liste und an der letzten Stelle dieser Liste soll die Zusatzzahl stehen.
Zufallszahlen generierst du wie folgt:
import random random.randint(1,6)
Ziel: ein Konsolen-Spiel, das den Benutzer eine geheime Zahl erraten lässt. Der Benutzer rät solange, bis er die Zahl erraten hat. Der Computer antwortet nach jedem Versuch, ob die gesuchte Zahl kleiner oder grösser ist.
Herausforderungen
Ziel:
Varianten:
Tipps:
upper()
in Grossbuchstaben um, damit du dich nicht mit Gross-/Kleinschreibweise herumschlagen musst.