diff --git a/Freitag/__pycache__/mathematik.cpython-39.pyc b/Freitag/__pycache__/mathematik.cpython-39.pyc new file mode 100644 index 0000000..0e9b372 Binary files /dev/null and b/Freitag/__pycache__/mathematik.cpython-39.pyc differ diff --git a/Freitag/check_env.py b/Freitag/check_env.py new file mode 100644 index 0000000..474450a --- /dev/null +++ b/Freitag/check_env.py @@ -0,0 +1,6 @@ +#start python umgebung +# python3 -m venv ~/pyenv +# virtualenv ~/pyenv +# virtualenv +#source ~/pyenv/activate +# \ No newline at end of file diff --git a/Freitag/db_insert.py b/Freitag/db_insert.py old mode 100644 new mode 100755 diff --git a/Freitag/mathematik.py b/Freitag/mathematik.py new file mode 100644 index 0000000..152a3e2 --- /dev/null +++ b/Freitag/mathematik.py @@ -0,0 +1,14 @@ +#/usr/bin/env python3 + + +def fak(n): + if n == 0: + return 1 + if n < 0: + raise ValueError("Fak ist eine negative Zahl") + if type(n) is not int: + raise TypeError("Fak ist keine ganze Zahl") + return n * fak(n-1) + + +print(fak(4)) \ No newline at end of file diff --git a/Freitag/test_fak.py b/Freitag/test_fak.py new file mode 100644 index 0000000..396814f --- /dev/null +++ b/Freitag/test_fak.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +from unittest import TestCase, main + +from mathematik import fak + +class FacultyTester(TestCase): + def test_basic(self): + self.assertEqual(fak(0), 1) + self.assertEqual(fak(1), 1) + + def test_basic2(self): + self.assertTrue(fak(0) == 1) + self.assertTrue(fak(1) == 1) + + def test_basic3(self): + self.assertFalse(fak(0) == 0) + + def test_greater(self): + for n in range(2,10): + self.assertGreater(fak(n), fak(n-1)) + def test_invalid(self): + with self.assertRaises(Exception): + fak(-1) + with self.assertRaises(ValueError): + fak(-1) + + +if __name__ == '__main__': + main() + +