Methodenparameter, Rückgabewerte und erste Algorithmen
Anonymous
703 views
Schaltjahre Kontrolle der Hausaufgabe
Als Hausaufgabe habt ihr ein Python-Programm erarbeitet, das eine Jahreszahl einliest und anschließend ausgibt, ob es sich dabei um eine Jahreszahl handelt. Die folgenden Bedingungen bestimmen, ob ein Jahr ein Schaltjahr ist:
- Ist die Jahreszahl durch 4 teilbar, handelt es sich um ein Schaltjahr, außer ...
- ... die Jahreszahl ist auch durch 100 teilbar. Dann handelt es sich um kein Schaltjahr außer ...
- ... die Jahreszahl ist durch 400 teilbar, dann handelt es sich um ein Schaltjahr.
Die folgende Codevorlage war vorgegeben, wobei hier nur die erste Regel umgesetzt wird:
def istTeilerVon(teiler, zahl):
"""
Prüft, ob zahl durch teiler teilbar ist.
Z.B. liefert istTeilerVon(2, 4) True zurück.
"""
return ((zahl % teiler) == 0)
def JahreszahlEingebenUndPruefen():
aktuelleEingabe = input("Bitte Jahreszahl eingeben. ")
jahr = int(aktuelleEingabe)
print("Jahreszahl: " + str(jahr))
if istTeilerVon(4, jahr):
print("Schaltjahr!")
else:
print("Kein Schaltjahr!")
JahreszahlEingebenUndPruefen()
Um die Aufgabe hier online testen zu können, wurde die Vorlage leicht abgeändert. Ergänze deine Implementierung in der nachfolgenden Codebox, um ihn zu testen!
Testen der Schaltjahr Hausaufgabe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
def istTeilerVon(teiler, zahl):
"""
Prüft, ob zahl durch teiler teilbar ist.
Z.B. liefert istTeilerVon(2, 4) True zurück.
"""
return ((zahl % teiler) == 0)
def JahreszahlEingebenUndPruefen():
'''
Um das Programm online testen zu können, musste das Einlesen
mit input() entfernt werden!
'''
# aktuelleEingabe = input("Bitte Jahreszahl eingeben. ")
# jahr = int(aktuelleEingabe)
global jahr
print("Jahreszahl: " + str(jahr))
'''
Ergänze hier deine Prüfung der Jahreszahl!
'''
if istTeilerVon(4, jahr):
print("Schaltjahr!")
else:
print("Kein Schaltjahr!")
''' ----- '''
# {
"""
Geheimer Code zu Testzwecken
"""
import builtins
last_print_out = ""
jahr = 0
def new_print(x):
global last_print_out
last_print_out = x
return orig_print(x)
orig_print = builtins.print
builtins.print = new_print
def send_msg(channel, msg):
print("TECHIO> message --channel \"{}\" \"{}\"".format(channel, msg))
Dieses Ergebnis werden wir im folgenden wieder brauchen, aber erst noch ein paar Basics für heute im nächsten Abschnitt.
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.