📝 Teilbarkeit von Zahlen
Ist eine Zahl ganzzahlig durch eine andere Zahl teilbar? Diese Frage lässt sich mit dem Modulo-Operator leicht beantworten.
% - Modulo-Operator
Der Modulo-Operator % gibt den Rest einer ganzzahligen Division zurück.
# 7 modulo 3 ergibt 1, da 7 / 3 = 2 Rest 1
print(7 % 3)
So kann leicht überprüft werden, ob eine Zahl durch eine andere Zahl teilbar ist:
zahl1 = 938
zahl2 = 14
if zahl1 % zahl2 == 0:
print(f"{zahl1} ist durch {zahl2} teilbar.")
else:
print(f"{zahl1} ist nicht durch {zahl2} teilbar.")
oder sogar auch alle Teiler einer Zahl in einem Bereich finden:
zahl = 938
for i in range(2, 938):
if zahl % i == 0:
print(f"{i} ist ein Teiler von {zahl}.")
FizzBuzz
FizzBuzz ist ein klassisches Programmierproblem, das oft in Vorstellungsgesprächen verwendet wird. Die Aufgabe besteht darin, die Zahlen von 1 bis 100 auszugeben, aber für Vielfache von 3 "Fizz" anstelle der Zahl und für Vielfache von 5 "Buzz" auszugeben. Für Zahlen, die sowohl Vielfache von 3 als auch von 5 sind, soll "FizzBuzz" ausgegeben werden.
Schreibe ein Programm, das die Zahlen von 1 bis 100 ausgibt, aber für Vielfache von 3 "Fizz", für Vielfache von 5 "Buzz" und für Vielfache von sowohl 3 als auch 5 "FizzBuzz" ausgibt.
for i in range(1, 101):
print(i)
Uhren
Mit der Bibliothek clock kann eine Uhr gesteuert werden - etwas speziell dabei: die Uhr arbeitet mit einem 360-Stunden-, Minuten- und Sekundensystem (es werden also die Grade eines Kreises verwendet).
Den Code noch nicht ausführen!
- Finden Sie heraus, welche Uhrzeit bei folgender Uhr angezeigt wird, ohne den Code auszuführen? Überprüfen Sie Ihre Antwort danach, indem Sie den Code ausführen.
- Stellen Sie auf der Uhr die Zeit 9:40:03 ein.
- Halten Sie kurz fest, wie Sie die Uhrzeit berechnet haben.
from clock import use_clock
uhr = use_clock('uhr-demo')
uhr.set_hours(90)
uhr.set_minutes(150)
uhr.set_seconds(270)
Uhr: uhr-demo
- Z.2
- Die Uhren-ID muss mit der Angezeigten Uhr übereinstimmen.
Uhrzeit einstellen
Ihre Aufgabe ist es, die Benutzer:in Ihres Programms zu bitten, eine Uhrzeit in Stunden, Minuten und Sekunden einzugeben, und diese Zeit dann auf der Uhr anzuzeigen.
from clock import use_clock
uhr = use_clock('uhr-aufgabe-1')
Uhr: uhr-aufgabe-1
Die Uhr ticken lassen
- Analysieren Sie das untenstehende Programm - wie wird der Sekundenzeiger zum ticken gebracht?
- Immer wenn der Sekundenzeiger auf 12 Uhr steht, soll der Minutenzeiger eine Minute vorwärts gehen.
- Immer wenn der Minutenzeiger springt und der Sekundenzeiger auf 12 Uhr steht, soll auch der Stundenzeiger eine Stunde vorgestellt werden.
- Bei der SBB-Uhr fährt der Sekundenzeiger kontinuierlich bis 12 Uhr und wartet dann dort eine Sekunde, bevor er springt. Können Sie dieses Verhalten nachstellen?
Uhr: sbb-uhr
from time import sleep
from clock import use_clock
uhr = use_clock('sbb-uhr')
while True:
uhr.set_seconds(uhr.seconds + 6)
sleep(1)