Files
Lernfeld-5/Python/Erweitert/OOP/properties/kreis/kreis_bruno.py
T

100 lines
2.3 KiB
Python

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
r = property(__get_r,__set_r)
u = property(__get_u,__set_u)
A = property(__get_A,__set_A)
if __name__ == "__main__":
Kreis1 = Kreis()
print("\nTest r")
Kreis1.r = 3
if Kreis1.u == 18.84955592153876:
print(Fore.GREEN + "Berechnung Umfang o.k.")
else:
print(Fore.RED + "Berechnung Umfang Fehler")
if Kreis1.A == 28.274333882308138:
print(Fore.GREEN + "Berechnung Flächeninhalt o.k.")
else:
print(Fore.RED + "Berechnung Flächeninhalt Fehler")
if Kreis1.r == 3.000000:
print(Fore.GREEN + "Berechnung Radius o.k.")
else:
print(Fore.RED + "Berechnung Radius Fehler")
print("\nTest A")
Kreis1.A = 28.274333882308138
if Kreis1.u == 18.84955592153876:
print(Fore.GREEN + "Berechnung Umfang o.k.")
else:
print(Fore.RED + "Berechnung Umfang Fehler")
if Kreis1.A == 28.274333882308138:
print(Fore.GREEN + "Berechnung Flächeninhalt o.k.")
else:
print(Fore.RED + "Berechnung Flächeninhalt Fehler")
if Kreis1.r == 3.000000:
print(Fore.GREEN + "Berechnung Radius o.k.")
else:
print(Fore.RED + "Berechnung Radius Fehler")
print("\nTest u")
Kreis1.u = 18.84955592153876
if Kreis1.u == 18.84955592153876:
print(Fore.GREEN + "Berechnung Umfang o.k.")
else:
print(Fore.RED + "Berechnung Umfang Fehler")
if Kreis1.A == 28.274333882308138:
print(Fore.GREEN + "Berechnung Flächeninhalt o.k.")
else:
print(Fore.RED + "Berechnung Flächeninhalt Fehler")
if Kreis1.r == 3.000000:
print(Fore.GREEN + "Berechnung Radius o.k.")
else:
print(Fore.RED + "Berechnung Radius Fehler")