diff --git a/EPR/ue00/README.txt b/EPR/ue00/README.txt new file mode 100644 index 0000000..c7b328c --- /dev/null +++ b/EPR/ue00/README.txt @@ -0,0 +1,27 @@ +Rechner zur berechning vom harmonischen und arithmetischen Mittel +--- + +Das Programm berechnet das arithmetische und harmonische Mittel von zwei Zahlen. + +Zur Nutzung muss eine kompatible Python version installiert sein. +Akzeptiert werden alle Python 3.x Versionen. + +Das Programm kann mit dem Befehl `python3 main.py` im Ordner gestartet werden. + +Nach dem Aufrufen des Programms wird zunächst das harmonische Mittel berechnet. +Es wird nach 2 Eingabewerten gefragt. Diese sind nacheinander einzugeben. +Nach der Eingabe des zweiten Wertes wird das Ergebnis ausgegeben. + +Anschließend wird das arithmetische Mittel berechnet. +Dieses wird ebenfalls nach 2 Eingabewerten gefragt. Diese sind nacheinander einzugeben. +Nach der Eingabe des zweiten Wertes wird das Ergebnis ausgegeben. + +Nach der Ausgabe des Ergebnisses wird das Programm beendet. + +Im Programmcode sind zu jeder der beiden Mittel jeweils 3 Testfälle angegeben. + +PEP8 +--- +Der Programmcode ist soweit wie möglich nach PEP8 abgestimmt. +Von der Aufgabe vorgegebene Funktions- und Variablennamen wurden beibehalten. +Diese sind nicht PEP8 konform (snake_case naming). \ No newline at end of file diff --git a/EPR/ue00/main.py b/EPR/ue00/main.py new file mode 100644 index 0000000..b15348f --- /dev/null +++ b/EPR/ue00/main.py @@ -0,0 +1,65 @@ +'''EPR Übungsblatt 00''' +__author__ = "7987847, Werner" + + +# Berechnung des harmonisches Mittel +def harmonischesMittel(a: float, b: float) -> float: + ''' + Berechnet das harmonische Mittel zweier Zahlen + :param a: erste Zahl + :param b: zweite Zahl + :return: harmonisches Mittel + ''' + return (2*a*b)/(a+b) + +# Berechnung des arithmetisches Mittel +def arithmetischesMittel(a: float, b: float) -> float: + ''' + Berechnet das arithmetische Mittel zweier Zahlen + :param a: erste Zahl + :param b: zweite Zahl + :return: arithmetisches Mittel + ''' + return (a+b)/2 + + +# Nutzereingaben +print("Rechner zur Berechnung des harmonischen Mittels") +print("Das harmonische Mittel der beiden Zahlen ist", harmonischesMittel( + float(input("Bitte geben Sie die erste Zahl ein: ")), + float(input("Bitte geben Sie die zweite Zahl ein: ")))) + +print("Rechner zur Berechnung des arithmetischen Mittels") +print("Das arithmetische Mittel der angegebenen Zahlen ist", arithmetischesMittel( + float(input("Bitte geben Sie die erste Zahl ein: ")), + float(input("Bitte geben Sie die zweite Zahl ein: ")))) + +# Testfälle + +# Einfacher Aufruf mit 0 +# arithmetischesMittel(0, 2) +# Ausgabe: 0.0 + +# Aufruf mit Dezimalzahlen und negativen Zahlen +# harmonischesMittel(-3.6, 3.14) +# Ausgabe: 49.14782608695653 + +# Aufruf mit a und b die 0 als Summe ergeben +# harmonischesMittel(3, -3) +# Das Ergebnis ist nicht definiert da durch 0 geteilt wird +# Es kommt zu einem Fehler +# Ausgabe: ZeroDivisionError: float division by zero + +# Einfacher Aufruf mit 0 +# arithmetischesMittel(0, 2) +# Ausgabe: 1.0 + +# Aufruf mit Dezimalzahlen und negativen Zahlen +# arithmetischesMitel(-3.6, 3.14) +# Ausgabe: -0.22999999999999998 + +# Aufruf mit falschen Datentypen +# arithmetischesMittel("a", True) +# Es kommt zu einem Fehler da die Datentypen nicht kompatibel sind +# Nur float und int sind erlaubt +# Ausgabe: ValueError: could not convert string to float: 'a'