Python :: Aufgabe #31
6 Lösungen

Schaltjahresberechnung
Anfänger - Python
von Process1
- 10.01.2013 um 06:52 Uhr
Es soll eine jahreszahl übergeben werden und es soll überprüft werden ob es sich um ein Schaltjahr handelt oder nicht.
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr
z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre
Lösungen:

while True: jahr = int(input("Geben sie das Jahr an: ")) if (jahr % 4 == 0) and (jahr % 100 != 0) or (jahr % 400 == 0): print(jahr , " ist ein Schaltjahr") else: print(jahr , " ist kein ein Schaltjahr")

def Schaltjahr(jahr): if jahr % 400 == 0: print "Es ist ein Schaltjahr" elif jahr % 100 == 0: print "Es ist kein Schaltjahr" elif jahr % 4 == 0: print "Es ist ein Schaltjahr" else: print "Es ist kein Schaltjahr" jahr=int(raw_input("Geben sie eine Jahreszahl ein.")) Schaltjahr(jahr)

#!/usr/bin/python def Schaltjahr(x): if x%4 == 0 and x%100 != 0: print "Das Jahr", x, "ist ein Schaltjahr." elif x%400 ==0: print "Das Jahr", x, "ist ein Schaltjahr." else: print "Das Jahr", x, "ist kein Schaltjahr." Schaltjahr(input("Gib das Jahr ein, von dem Du wissen moechtest ob es ein Schaltjahrt ist:\t"))

"""Es soll eine jahreszahl übergeben werden und es soll überprüft werden ob es sich um ein Schaltjahr handelt oder nicht. Es gilt: - Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber - wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer - es ist durch 400 teilbar, dann ist es ein schaltjahr z.b. 1664, 1600, 2000, 2004 sind schaltjahre 1003, 2006, 1700 sind keine schaltjahre""" import math print("Schaltjahr Rechner, kronstone") jahr=int(input("Geben Sie ein Jahr ein:")) if math.fmod(jahr,400)==0: print(jahr, "ist EIN Schaltjahr") elif math.fmod(jahr,100)==0: print(jahr, "ist KEIN Schaltjahr") elif math.fmod(jahr,4)==0: print(jahr, "ist EIN Schaltjahr") else: print(jahr, "ist KEIN Schaltjahr")
Zeile 4 und 6 hätte ich mit "or" zusammenfassen sollen aber dies war meine ursprüngliche Lösung, bevor ich die anderen Lösungen durchguckte und das erkannte:
Python-Code

# -*- coding: utf-8 -*- def schaltjahr(jahr): if jahr % 4 == 0 and jahr % 400 == 0: print "\nDies ist ein Schaltjahr." elif jahr % 4 == 0 and jahr % 100 != 0: print "\nDies ist ein Schaltjahr." else: print "\nDies ist kein Schaltjahr." schaltjahr(int(input("Bitte eine Jahreszahl eingeben: ")))

def schaltjahr(): jahr = int(input("Geben sie das Jahr ein: ")) ist_schalt = str(jahr) + " ist ein Schaltjahr" kein_schalt = str(jahr) + " ist kein Schaltjahr" if jahr % 4 == 0: if jahr % 100 == 0: if jahr % 400 == 0: print(ist_schalt) else: print(kein_schalt) else: print(ist_schalt) else: print(kein_schalt) schaltjahr()