mirror of
https://github.com/JonasunderscoreJones/EPI-2324.git
synced 2025-10-23 12:09:20 +02:00
84 lines
2.6 KiB
Python
84 lines
2.6 KiB
Python
'''EPR Übungsblatt 01'''
|
|
__author__ = "7987847, Werner"
|
|
|
|
# Aufgabe 2
|
|
def bonuspunkte_rechner(bp_epr: int, bp_gpr: int, zbnp: int) -> int:
|
|
'''
|
|
Berechnet die Anzahl der Bonuspunkte
|
|
:param bonuspunkte_epr: Bonuspunkte EPR
|
|
:param bonuspunkte_gpr: Bonuspunkte GPR
|
|
:param zbnp: Zum bestehen benötigte Punkte
|
|
:return: Anzahl der Bonuspunkte
|
|
'''
|
|
# Überprüfung, ob die Werte im erlaubten Bereich liegen
|
|
if bp_epr not in range(0, 111) or bp_gpr not in range(0, 111) or zbnp < 0:
|
|
raise ValueError("Die Werte sind nicht im erlaubten Bereich.")
|
|
return int(min(zbnp/4, (bp_epr+bp_gpr)/14))
|
|
|
|
print("Rechner zur Berechnung der Bonuspunkte für EPR und GPR")
|
|
|
|
epr_bp = int(input('Bitte geben Sie die Bonuspunkte EPR ein: '))
|
|
epr_bp = int(input('Bitte geben Sie die Bonuspunkte GPR ein: '))
|
|
zbnp_ = int(input('Bitte geben Sie die zum Bestehen benötigten Punkte ein: '))
|
|
|
|
bonuspunkte = bonuspunkte_rechner(epr_bp, epr_bp, zbnp_)
|
|
ergebnis_text = f"Die Anzahl der Bonuspunkte für die Klausur: {bonuspunkte}"
|
|
print(ergebnis_text)
|
|
|
|
# Testfälle
|
|
|
|
# Einfacher Aufruf mit 0
|
|
# bonuspunkte_rechner(0, 0, 0)
|
|
# Ausgabe: 0
|
|
|
|
# Aufruf mit Dezimalzahlen und negativen Zahlen
|
|
# bonuspunkte_rechner(-3.6, 3.14, 0)
|
|
# Ausgabe: ValueError: Die Werte sind nicht im erlaubten Bereich.
|
|
|
|
# Aufruf mit realen Werten
|
|
# bonuspunkte_rechner(89, 102, 50)
|
|
# Ausgabe: 12
|
|
|
|
|
|
|
|
# Aufgabe 3
|
|
def aufgabe_3(zahl_1:int, zahl_2:int) -> None:
|
|
'''
|
|
Prüft ob die kleinere Zahl durch 2, 4 oder 8 teilbar ist
|
|
'''
|
|
kleinere_zahl = min(zahl_1, zahl_2)
|
|
|
|
ist_teilbar = False
|
|
|
|
# Überprüfung, ob die kleinere Zahl durch 2, 4 oder 8 teilbar ist
|
|
if kleinere_zahl % 8 == 0:
|
|
print(f"{kleinere_zahl} ist durch 8 teilbar.")
|
|
ist_teilbar = True
|
|
if kleinere_zahl % 4 == 0:
|
|
print(f"{kleinere_zahl} ist durch 4 teilbar.")
|
|
ist_teilbar = True
|
|
if kleinere_zahl % 2 == 0:
|
|
print(f"{kleinere_zahl} ist durch 2 teilbar.")
|
|
ist_teilbar = True
|
|
if not ist_teilbar:
|
|
print(f"{kleinere_zahl} ist weder durch 2, 4 noch 8 teilbar.")
|
|
|
|
print("Rechner zur Prüfung ob die kleinere Zahl durch 2, 4 oder 8 teilbar ist")
|
|
aufgabe_3(int(input("Bitte geben Sie die erste Zahl ein: ")),
|
|
int(input("Bitte geben Sie die zweite Zahl ein: ")))
|
|
|
|
# Testfälle
|
|
|
|
# Einfacher Aufruf mit 0
|
|
# aufgabe_3(0, 0)
|
|
# Ausgabe: 0 ist durch 8 teilbar.
|
|
# 0 ist durch 4 teilbar.
|
|
# 0 ist durch 2 teilbar.
|
|
|
|
# Aufruf mit Dezimalzahlen und negativen Zahlen
|
|
# aufgabe_3(-3.6, 3.14)
|
|
# Ausgabe: ValueError: Es muss ein Integer übergeben werden.
|
|
|
|
# Aufruf mit natürlichen Werten
|
|
# aufgabe_3(89, 102)
|
|
# Ausgabe: 89 weder durch 2, 4 noch 8 teilbar.
|