Teil 4: Operatoren
Lernziele
- Die Rechenoperatoren von Python sicher anwenden und die Reihenfolge beachten
- Ganzzahldivision und Rest voneinander unterscheiden
- Potenzen berechnen
- Die eingebauten Funktionen
max,minundroundverwenden- Verschachtelte Ausdrücke von Hand vereinfachen
Neue Befehle und Zeichen:
//ganzzahlige Division%Rest der Division (Modulo)**Potenzmax()gibt den grössten Wert zurückmin()gibt den kleinsten Wert zurückround()rundet eine Zahl
Operatoren
Rechnen
Python kennt die vier Grundoperationen +, -, * und /. Es gilt Punkt vor Strich, und mit Klammern legst du die Reihenfolge selbst fest.
print(2 + 3 * 4)
print((2 + 3) * 4)
Drei besondere Operatoren
Der Modulo-Operator % ist nützlicher, als er aussieht. Mit ihm prüfst du zum Beispiel, ob eine Zahl gerade ist: Bei zahl % 2 == 0 bleibt kein Rest.
BeispielEine Wanderung dauert 500 Minuten. Wie viele volle Stunden sind das, und wie viele Minuten bleiben übrig?
minuten = 500 print(minuten // 60, "h", minuten % 60, "min")Die beiden Operatoren gehören zusammen:
//sagt, wie oft die 60 in die 500 hineinpasst,%sagt, was danach übrig bleibt. Zusammen ergeben sie wieder die Ausgangszahl, denn .
Eingebaute Funktionen
Python bringt fertige Funktionen mit. Eine davon kennst du schon: print. Zwei weitere sind max und min. Sie nehmen beliebig viele Zahlen entgegen und geben die grösste bzw. die kleinste zurück.
print(max(42, 3.0, 42.0001))
print(min(3, 9, 12, -100, -99))
Rückgabewert
maxgibt einen Wert zurück, es zeigt ihn nicht selbst an. Willst du das Ergebnis sehen, brauchst dugroesste = max(3, 7) print(groesste)
Mit round rundest du auf die nächste ganze Zahl. Ein zweites Argument gibt die Anzahl Nachkommastellen an: round(3.14159, 2) ergibt 3.14.
Aufgaben
Aufgabe 4.1Berechne von Hand, was Python ausgibt. Prüfe erst danach mit dem Computer.
Aufgabe 4.2Untersuche den Unterschied zwischen
/und//. Probiere alle vier Kombinationen vonintundfloataus und trage die Ergebnisse in die Tabelle ein.
3 / ...3 // ...3.0 / ...3.0 // ...... 2... 2.0Wann ist das Ergebnis ein
int? Notiere deine Regel.
Aufgabe 4.3Berechne von Hand, was die folgenden Ausdrücke ergeben:
7 % 2,8 % 2,9 % 3,5 % 7und100 % 7. Der Fall5 % 7ist der interessante, erkläre ihn. Formuliere danach, woran du am Rest erkennst, dass eine Zahl durch eine andere teilbar ist.
Aufgabe 4.4Warum geben diese beiden Zeilen Fehlermeldungen? Beantworte das von Hand, ohne den Computer zu Hilfe zu nehmen, und korrigiere sie.
print(max("zwei", 3)) print(min(1, 2, 3)))
Aufgabe 4.5Schreibe ein Programm, das drei Noten einliest und den Durchschnitt, die beste und die schlechteste Note ausgibt. Runde den Durchschnitt auf eine Nachkommastelle.
Aufgabe 4.6Vereinfache den folgenden Ausdruck von Hand, ohne ihn auszuführen. Begründe jeden Schritt.
max(x - 3, min(x + 10, x + 5))
Aufgabe 4.7Schreibe ein Programm, das prüft, ob eine eingelesene Zahl gerade ist, und das Ergebnis als Text ausgibt. Verwende dafür
%.
Aufgabe 4.8Berechne von Hand, was
17 // 5 * 5 + 17 % 5ergibt. Prüfe deine Antwort danach mit dem Computer und probiere andere Zahlen anstelle der 17 aus. Erkläre, warum immer dasselbe herauskommt.
Aufgabe 4.9Übersetze die Formel
in Python. Lies
xmitfloat(input("x: "))ein und gib den Wert vonf(x)aus. Teste dein Programm mitx = 4. Achte auf die Klammern.
Aufgabe 4.10Übersetze die Formel
in Python. Lies
xwieder mitfloat(input("x: "))ein. Die Wurzel schreibst du als Potenz mit dem Exponenten0.5. Teste dein Programm mitx = 4.
Aufgabe 4.11Sage voraus, was
round(2.5),round(3.5),round(-0.5)undround(2.675, 2)ergeben. Prüfe danach mit dem Computer. Zwei der vier Ergebnisse überraschen. Recherchiere, woher das kommt.
Aufgabe 4.12Lies zwei ganze Zahlen
aundbmitint(input(...))ein und gib die kleinere der beiden aus, ohneminzu verwenden. Nutze stattdessenmaxauf clevere Weise.
Aufgabe 4.13Zwischen zwei Städten führen zwei Strassen. Auf jeder Strasse liegen Brücken, und jede Brücke hat ein zulässiges Höchstgewicht in Tonnen. Ein Lastwagen kommt nur über eine Strasse, wenn er über jede ihrer Brücken passt.
Zwei Strassen mit Brücken a bis e
Lies die fünf Höchstgewichte
abisemitfloat(input(...))ein und gib aus, wie schwer der Lastwagen höchstens sein darf, damit er überhaupt vom Start zum Ziel kommt. Verwende dafürminundmax.
Weitere Aufgaben
Zusatzaufgabe 4.14Eine Kreditkartenfirma berechnet den minimal auszahlbaren Betrag nach dieser Regel: Der Minimalbetrag ist entweder 10 Franken oder 2,1 Prozent des Kontostands, je nachdem, was grösser ist. Übersteigt das den Kontostand, wird stattdessen der Kontostand genommen.
Schreibe ein Programm, das den Minimalbetrag ausgibt und dabei
maxundminbenutzt. Die Variablekontostandist vordefiniert.
Zusatzaufgabe 4.15Untersuche den Operator
**genauer. Was ergibt2 ** 3, was3 ** -1, was9 ** 0.5? Formuliere, was der Operator allgemein tut.
Zusatzaufgabe 4.16Schreibe ein Programm, das eine Anzahl Sekunden einliest und daraus Stunden, Minuten und Sekunden berechnet. Verwende
//und%.
Zusatzaufgabe 4.17Schreibe ein Programm, das die Quersumme einer dreistelligen Zahl berechnet. Die Zahl ist in der Variablen
zahlvorgegeben. Hole dir die drei Ziffern mit//und%einzeln heraus und addiere sie.