From 124bff5e0638ebb044094db7129f0031a882ca13 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Thu, 8 Jun 2023 19:38:09 +0200 Subject: [PATCH] Kapitel 18: Generatoren und list comprehension --- Readme.md | 1 + flask/.gitignore | 2 ++ teil18/.gitignore | 1 + teil18/fib_gen.py | 15 +++++++++++++++ teil18/squares_for.py | 6 ++++++ teil18/squares_list_comprehension.py | 3 +++ teil18/vornamen_filter.py | 11 +++++++++++ teil18/zahlen_for.py | 4 ++++ teil18/zahlen_gen.py | 19 +++++++++++++++++++ 9 files changed, 62 insertions(+) create mode 100644 flask/.gitignore create mode 100644 teil18/.gitignore create mode 100644 teil18/fib_gen.py create mode 100644 teil18/squares_for.py create mode 100644 teil18/squares_list_comprehension.py create mode 100644 teil18/vornamen_filter.py create mode 100644 teil18/zahlen_for.py create mode 100644 teil18/zahlen_gen.py diff --git a/Readme.md b/Readme.md index 48e0f8d..81afe68 100644 --- a/Readme.md +++ b/Readme.md @@ -22,4 +22,5 @@ CC-BY-SA Olli Graf |15 | GPIO| |16 | Testing| |17 | Datenbank| +|17 | Generatoren und list comprehension| diff --git a/flask/.gitignore b/flask/.gitignore new file mode 100644 index 0000000..14fad5f --- /dev/null +++ b/flask/.gitignore @@ -0,0 +1,2 @@ +./__pycache__ +renderhtml/__pycache__ diff --git a/teil18/.gitignore b/teil18/.gitignore new file mode 100644 index 0000000..7c4b34b --- /dev/null +++ b/teil18/.gitignore @@ -0,0 +1 @@ +./__pycache__ diff --git a/teil18/fib_gen.py b/teil18/fib_gen.py new file mode 100644 index 0000000..c314c41 --- /dev/null +++ b/teil18/fib_gen.py @@ -0,0 +1,15 @@ +import sys + +def fib_generator(): + a,b = 0,1 + + while True: + yield a + a,b = b, a+b + + +fibo = fib_generator() + + +for _ in range(int(sys.argv[1])): + print(next(fibo)) diff --git a/teil18/squares_for.py b/teil18/squares_for.py new file mode 100644 index 0000000..3d67483 --- /dev/null +++ b/teil18/squares_for.py @@ -0,0 +1,6 @@ +squares = [] + +for x in range(1,6): + squares.append(x**2) + +print(squares) diff --git a/teil18/squares_list_comprehension.py b/teil18/squares_list_comprehension.py new file mode 100644 index 0000000..fc52b1a --- /dev/null +++ b/teil18/squares_list_comprehension.py @@ -0,0 +1,3 @@ +squares = [x **2 for x in range(1,6)] + +print(squares) diff --git a/teil18/vornamen_filter.py b/teil18/vornamen_filter.py new file mode 100644 index 0000000..2e86dc5 --- /dev/null +++ b/teil18/vornamen_filter.py @@ -0,0 +1,11 @@ +schueler = [ + {'name':'Simpson','vorname': 'Bart'}, + {'name':'Simpson','vorname':'Lisa'}, + {'name':'van Houten','vorname':'Milhouse'}, + {'name':'Wiggum','vorname':'Ralph'}, + {'name':'Jones','vorname':'Jimbo'} +] + +vornamen = [s['vorname'] for s in schueler if s['name'] == 'Simpson'] + +print(vornamen) diff --git a/teil18/zahlen_for.py b/teil18/zahlen_for.py new file mode 100644 index 0000000..e5cc467 --- /dev/null +++ b/teil18/zahlen_for.py @@ -0,0 +1,4 @@ +zahlen = [1,2,3,4,5,6,7,8,9,10] + +for n in zahlen: + print(n) diff --git a/teil18/zahlen_gen.py b/teil18/zahlen_gen.py new file mode 100644 index 0000000..3ae0406 --- /dev/null +++ b/teil18/zahlen_gen.py @@ -0,0 +1,19 @@ +def gen_zahl(): + n = 0 + + while n < 10: + n += 1 + yield n + +zahlen = gen_zahl() + +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen)) +print(next(zahlen))