From 95ec776ff542fdfc9626483bf6b9b9049268756b Mon Sep 17 00:00:00 2001 From: bruno Date: Fri, 12 Jun 2026 12:02:17 +0200 Subject: [PATCH] new rechteck class in oop and changes in kreis.py because big j is a bastard --- Python/Erweitert/OOP/kreis/kreis.py | 92 ++++++++++++++++++++--- Python/Erweitert/OOP/rechteck/rechteck.py | 34 +++++++++ 2 files changed, 114 insertions(+), 12 deletions(-) create mode 100644 Python/Erweitert/OOP/rechteck/rechteck.py diff --git a/Python/Erweitert/OOP/kreis/kreis.py b/Python/Erweitert/OOP/kreis/kreis.py index 31f293f..7c0294b 100644 --- a/Python/Erweitert/OOP/kreis/kreis.py +++ b/Python/Erweitert/OOP/kreis/kreis.py @@ -1,27 +1,95 @@ -import math +from math import pi, sqrt +from colorama import * +init(autoreset=True) class Kreis: def __init__(self): self.__r = 0 + self.__u = 0 + self.__A = 0 def set_r(self, r): self.__r = r + self.__u = 2 * pi * r + self.__A = pi * r**2 + def set_u(self, u): + self.__u = u + self.__r = u / (2 * pi) + self.__A = pi * self.__r**2 + + def set_A(self, A): + self.__A = A + self.__r = sqrt(A / pi) + self.__u = 2 * pi * self.__r + + def get_u(self): + return self.__u + + def get_A(self): + return self.__A + def get_r(self): return self.__r - def get_u(self): - return 2 * math.pi * self.__r - def get_A(self): - return math.pi * self.__r ** 2 +if __name__ == "__main__": + + Kreis1 = Kreis() + + print("\nTest set_A(A)") + Kreis1.set_A(28.274333882308138) + + if Kreis1.get_u() == 18.84955592153876: + print(Fore.GREEN + "Berechnung Umfang o.k.") + else: + print(Fore.RED + "Berechnung Umfang Fehler") + + if Kreis1.get_A() == 28.274333882308138: + print(Fore.GREEN + "Berechnung Flächeninhalt o.k.") + else: + print(Fore.RED + "Berechnung Flächeninhalt Fehler") + + if Kreis1.get_r() == 3.000000: + print(Fore.GREEN + "Berechnung Radius o.k.") + else: + print(Fore.RED + "Berechnung Radius Fehler") -Kreis1 = Kreis() -Kreis1.set_r(3) + print("\nTest set_u(u)") + Kreis1.set_u(18.84955592153876) + + if Kreis1.get_u() == 18.84955592153876: + print(Fore.GREEN + "Berechnung Umfang o.k.") + else: + print(Fore.RED + "Berechnung Umfang Fehler") + + if Kreis1.get_A() == 28.274333882308138: + print(Fore.GREEN + "Berechnung Flächeninhalt o.k.") + else: + print(Fore.RED + "Berechnung Flächeninhalt Fehler") + + if Kreis1.get_r() == 3.000000: + print(Fore.GREEN + "Berechnung Radius o.k.") + else: + print(Fore.RED + "Berechnung Radius Fehler") + + + print("\nTest set_r(r)") + Kreis1.set_r(3) + + if Kreis1.get_u() == 18.84955592153876: + print(Fore.GREEN + "Berechnung Umfang o.k.") + else: + print(Fore.RED + "Berechnung Umfang Fehler") + + if Kreis1.get_A() == 28.274333882308138: + print(Fore.GREEN + "Berechnung Flächeninhalt o.k.") + else: + print(Fore.RED + "Berechnung Flächeninhalt Fehler") + + if Kreis1.get_r() == 3.000000: + print(Fore.GREEN + "Berechnung Radius o.k.") + else: + print(Fore.RED + "Berechnung Radius Fehler") -print() -print(f"Radius: {Kreis1.get_r():.2f} cm") -print(f"Scope : {Kreis1.get_u():.2f} cm") -print(f"Area : {Kreis1.get_A():.2f} cm²") -print() \ No newline at end of file diff --git a/Python/Erweitert/OOP/rechteck/rechteck.py b/Python/Erweitert/OOP/rechteck/rechteck.py new file mode 100644 index 0000000..9e19fe5 --- /dev/null +++ b/Python/Erweitert/OOP/rechteck/rechteck.py @@ -0,0 +1,34 @@ +class Rechteck: + def __init__(self, a=0.0, b=0.0): + self.set_ab(a, b) + + def set_ab(self, a: float, b: float): + self.__a = float(a) + self.__b = float(b) + + def get_a(self): + return self.__a + + def get_b(self): + return self.__b + + def get_u(self): + return 2 * (self.__a + self.__b) + + def get_A(self): + return self.__a * self.__b + + def formCheck(self): + if (self.__a == self.__b): + return "Quadratisch Praktisch gut" + else: + return "Nicht so Quadratisch Praktisch gut" + +r = Rechteck() +r.set_ab(8, 8) + +print("a =", r.get_a()) +print("b =", r.get_b()) +print("Umfang =", r.get_u()) +print("Fläche =", r.get_A()) +print("Form =", r.formCheck()) \ No newline at end of file