diff --git a/Donnerstag/__pycache__/vectors.cpython-39.pyc b/Donnerstag/__pycache__/vectors.cpython-39.pyc new file mode 100644 index 0000000..f9f0992 Binary files /dev/null and b/Donnerstag/__pycache__/vectors.cpython-39.pyc differ diff --git a/Donnerstag/curry.py b/Donnerstag/curry.py new file mode 100644 index 0000000..368d095 --- /dev/null +++ b/Donnerstag/curry.py @@ -0,0 +1,9 @@ +#! /usr/bin/env python3 +def inc_generator(n): + return lambda i: i + n + +inc3 = inc_generator(3) +inc4 = inc_generator(9) + +print(inc3(10)) +print(inc4(10)) \ No newline at end of file diff --git a/Donnerstag/fibonacci.py b/Donnerstag/fibonacci.py new file mode 100644 index 0000000..28d0ac8 --- /dev/null +++ b/Donnerstag/fibonacci.py @@ -0,0 +1,37 @@ +#! /usr/bin/env python3 + +def fibonacci(n): + if n == 1 or n == 2: + return 1 + #Rekursiver Funktionsaufruf + #return fibonacci(n - 1) + fibonacci(n - 2) + fn_1, fn_2 = 1, 1 + for i in range(n-2): + fn_1, fn_2 = fn_1 + fn_2, fn_1 + return fn_1 + +def fibonacci_folge(n): + if n >= 1: + #print("yield 1 (fib(1))") + yield 1 + if n >=2: + #print("yield 1 (fib(2))") + yield 1 + #Rekursiver Funktionsaufruf + #return fibonacci(n - 1) + fibonacci(n - 2) + fn_1, fn_2 = 1, 1 + for i in range(n-2): + fn_1, fn_2 = fn_1 + fn_2, fn_1 + #print("yield {} (fib({}))".format(fn_1, i+3)) + yield fn_1 + +#print("fib(5) =", fibonacci(5)) +# +# print("fib(40) =", fibonacci(400)) + +for nr, fib in enumerate(fibonacci_folge(30)): + print(nr+1, fib, sep=' -> ') + +#print(list(fibonacci_folge(30))) +#print([i for i in fibonacci_folge(10)]) + \ No newline at end of file diff --git a/Donnerstag/taxi.py b/Donnerstag/taxi.py new file mode 100644 index 0000000..0186794 --- /dev/null +++ b/Donnerstag/taxi.py @@ -0,0 +1,18 @@ +def output_taxi(menge: int): + for taxi in range(6): + if taxi == 1: + print(taxi, "Taxi", sep=" ") + else: + print(taxi, "Taxen", sep=" ") + #oder + #print(taxi, "Taxi" if taxi == 1 else "Taxen") + + + + +output_taxi(6) + +output2 = [i for i in range(6)] + + +print(output2) diff --git a/Donnerstag/temp_var.py b/Donnerstag/temp_var.py new file mode 100644 index 0000000..a685695 --- /dev/null +++ b/Donnerstag/temp_var.py @@ -0,0 +1,12 @@ +#! /usr/bin/env python3 +a = 10 +b = 15 +print(a, b) +a, b, = b, a +print(a,b) +print("--" * 30) +#Beispiel : ip_address, oketett = match.groups() + +mylist = [23, 32, 32, 34] +a, b, c, d = mylist +print(a, b, c, d) \ No newline at end of file diff --git a/Donnerstag/v_calc.py b/Donnerstag/v_calc.py new file mode 100644 index 0000000..355b932 --- /dev/null +++ b/Donnerstag/v_calc.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 +from vectors import Vector + +v1 = Vector(1, 2, 3, ) +v2 = Vector(4,0,1) +print(v1.get_values()) +del v2 +print("Jetzt wird v2 freigebe ") + +#print(v2) \ No newline at end of file diff --git a/Donnerstag/vectors.py b/Donnerstag/vectors.py new file mode 100644 index 0000000..a6712d4 --- /dev/null +++ b/Donnerstag/vectors.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +""" +Mathematische Vektorenals Klasse +""" +# Oberklassen werden automatisch vererbt +class Vector(): + values = () + def __init__(self, *values): + "Initialisierung 1 Funktion nach Erzeugen des Objekts" + self.my_values = values + def __del__(self): + "Destruktor: Letzte Funktion vor Freigabe des Speichers" + print("Ein Objekt wird freigegeben ({})".format(self.my_values)) + def get_values(self): + return self.my_values + + def test (self, *args): + # Der erste Weert in tuple ist das Objekt selbst. tuple werden mit * angeben. + print("Aufruf") + print(args) + + def poly(self, *args): + if len(args) == 1: + if type(args[0]) is str: + print("Stringverarbeitung") + elif type(args[0]) is int or type(args[0]): + print("Intverarbeitung") + elif len(args) == 2: + self.poly_2param(*args) + elif len(args) == 0: + Vector.poly_0param(self, *args) + + \ No newline at end of file diff --git a/Mittwoch/command.py b/Mittwoch/command.py index ae7f5ba..c81ab87 100644 --- a/Mittwoch/command.py +++ b/Mittwoch/command.py @@ -15,4 +15,4 @@ print("Aktuelles Program : ", sys.argv[0:]) print("Kommandozeile : ", sys.argv[1:]) print("Kommandozeile : ", sys.argv[1:]) -print("Kommandozeile : ", argv_value('-o')) \ No newline at end of file +print("Kommandozeile : ", argv_value('-o')) diff --git a/Readme.md b/Readme.md index 7b858e4..cc6193b 100644 --- a/Readme.md +++ b/Readme.md @@ -1,5 +1,8 @@ Meine Notizen : +[] immer eine Liste +{} immer ein Dic + lambda Wir verwenden Lambda-Funktionen, wenn wir für kurze Zeit eine unbenannte Funktion benötigen. @@ -47,3 +50,10 @@ Alle Exceptions sind im Netz https://docs.python.org/3/library/exceptions.html mit join mach ich die Liste wieder zusammen .join(format_tb(e.__traceback__) + +Kein Print in Schleifen nur zum debuggen.. + +enumerate nummeriert die schelife durch. + +for nr, fib in enumerate(fibonacci_folge(30)): + print(nr+1, fib, sep='-')