Lektionen
6: if
- if-Anweisungen
- Einrücken von Blöcken
- Vergleichsoperatoren
<
,<=
- Datentyp bool
- Konstanten
True
undFalse
- Logische Operatoren
!=
und==
6D: Design, Debugging und Donuts
- Entwurf und Testen von Algorithmen
7A: Zeichenketten bzw. Strings
- Länge einer Zeichenkette:
len(s)
- Zugriff auf einzelne Zeichen über index, z.B.:
s[0]
- Teilstrings mit
s[start:ende]
- Zeichenketten verbinden mit
+
und Vervielfachen mit*
- Zeichen <-> Unicode-Position mit
ord()
undchr()
7B: Mathematik
- Operatoren **, //, %
- Modul math
- Funktionen sqrt(), exp(), log(), sin(), cos(), tan()
- pi
7C: Schleifen
- while-Schleifen
- for-Schleifen
- break, continue
break und continue sollten sehr sparsam eingesetzt werden, da sie den Code meist unübersichtlicher machen.
8: Remix (optional)
- keine neuen Inhalte, sondern Übungen
9: Fälle & Logik
- else
- elif
- and, or, not
Übungen
Aufgabe 1 - import
Statt import math
kann man auch from math import *
schreiben. Informiere Dich über die Unterschiede und bewerte die beiden Varianten.
Aufgabe 2 - Module
Neben dem Modul math
gibt es noch viele andere Module in Python. Um z.B. einen Würfel zu simulieren, kann man die Funktion randint
aus dem Modul random
benutzen:
import random
print(random.randint(1,6))
Experimentiere mit den Funktionen der folgenden Module und beschreibe deren Wirkung. Ziehe bei Bedarf die Python-Dokumentation zu Hilfe.
Modul | Funktionen |
---|---|
random | randint, random |
time | time, sleep |
calendar | prmonth, isleap |
Aufgabe 3 - Geburtstag
Unter http://python.org findest Du die offizielle Dokumentation zu Python. Finde eine Funktion, mit der Du den Wochentag Deines Geburtstages herausfinden kannst.
Tipps: Bibliothek heißt auf englich "Library". Die Funktion befindet sich im Modul "calendar".
Aufgabe 4 - BMI
Der BMI (Body-Mass-Index) einer Person soll berechnet werden. Die folgenden Programmausschnitte leisten nicht das gewünschte. Erkläre und formuliere eine vollständige und verbesserte Version.
Version 1:
# Eingabe
...
# Verarbeitung
...
# Ausgabe
...
if bmi < 19:
print("Du hast Untergewicht!")
if bmi > 26:
print("Du hast Uebergewicht!")
print("Du hast Normalgewicht!")
Version 2:
# Eingabe
...
# Verarbeitung
...
# Ausgabe
...
if bmi < 19:
print("Du hast Untergewicht!")
if bmi <= 26:
print("Du hast Normalgewicht!")
else:
print("Du hast Uebergewicht!")
Quelle: inf-schule.de. Hier findest Du bei Bedarf noch weitere Übungen zu if-Anweisungen.
Aufgabe 5 - Schleifen
Wähle aus den Übungen zu Schleifen bei inf-schule.de einige aus, so dass Du sicher mit for- und while-Schleifen umgehen kannst.
Aufgabe 6 - Promillerechner
Überarbeite den Promillerechner aus Teil 1 so, dass man statt des Reduktionsfaktors das Alter und Geschlecht eingibt. Der Reduktionsfaktor soll dann vom Programm ermittelt werden. Am Ende der Berechnung soll der Benutzer entscheiden, ob er eine neue Berechnung ausführen möchte oder nicht. Er kann beliebig viele Berechnungen durchführen.
Aufgabe 7 - Pagerank
Informiere Dich auf der Seite zum Algorithmus der Woche (pdf) oder auf inf-schule.de über das Pagerank-Verfahren. Implementiere ein Programm, das ein festes Beispielnetz bewertet. Du musst Dir dazu überlegen, wie oft oder wie lange die Simulation durchgeführt wird. Du kannst auch die Beispielimplementierung auf inf-schule.de nutzen und sie entsprechend erweitern.
Aufgabe 8 - Tick Tack
Wie lange sind 15 Sekunden? Eigentlich eine einfache Frage. Wenn Du aber 15 Sekunden genau schätzen sollst, wird's schon schwieriger.
Tick Tack live
Testet in der Klasse wer eine Zeitspanne von 15 Sekunden am genausten schätzen kann. Der Gewinner erhält...?
Das Spiel lässt sich natürlich auch mit dem Computer spielen.
Tick Tack mit der Python Shell
Überlege wie man die Python Shell benutzen kann, um das Spiel zu spielen. Du solltest dazu die obige Aufgabe "Module" bearbeitet haben.
In der Shell lässt sich das Spiel noch nicht komfortabel spielen.
Tick Tack als Programm
Implementiere eine erste Version des Spiels als Python-Programm.
Erstellt eine Liste mit Dingen, die man an dem Spiel noch verbessern könnte oder sollte. Implementiere Deine Ideen. Du sollst dabei if-Anweisungen und Schleifen benutzen.