From 75579e1a355839aacf20dce3fd0a486279aef4c2 Mon Sep 17 00:00:00 2001
From: Hong-Phuc Bui <hong-phuc.bui@htwsaar.de>
Date: Tue, 27 May 2025 15:38:37 +0200
Subject: [PATCH] lösung

---
 aufgabe6-quatal-verbrauch/verbrauch-2025.csv |   10 +++-
 aufgabe6-quatal-verbrauch/verbrauch.py       |   42 +++++++++++++++++++++
 aufgabe6-quatal-verbrauch/verbrauch_test.py  |   26 +++++++++++++
 3 files changed, 75 insertions(+), 3 deletions(-)

diff --git a/aufgabe6-quatal-verbrauch/verbrauch-2025.csv b/aufgabe6-quatal-verbrauch/verbrauch-2025.csv
index f398716..70bc20d 100644
--- a/aufgabe6-quatal-verbrauch/verbrauch-2025.csv
+++ b/aufgabe6-quatal-verbrauch/verbrauch-2025.csv
@@ -1,6 +1,10 @@
 # 2025
-5,5; 30; 32; 33,2; 38; 22; 21; 35,3
+ 5,5;   30;   32; 33,2; 38; 22; 21; 35,3
 30,3; 31,2; 35,4; 31.1; 28; 12; 13; 38
-23,1; 25,4; 35; 32.3; 36,2; 33,4; 38; 12,5
-38,2; 29,4; 31; 30; 28,9; 31,1; 19,2; 25,7
+23,1; 25,4;   35; 32.3; 36,2; 33,4; 38; 12,5
+38,2; 29,4;   31;   30; 28,9; 31,1; 19,2; 25,7
 # 2026
+5,5; 40; 42; 44,2; 48; 22; 21; 45,4
+40,4; 41,2; 45,4; 41.1; 28; 12; 14; 48
+24,1; 25,4; 45; 42.4; 46,2; 44,4; 48; 12,5
+48,2; 29,4; 41; 40; 28,9; 41,1; 19,2; 25,7
\ No newline at end of file
diff --git a/aufgabe6-quatal-verbrauch/verbrauch.py b/aufgabe6-quatal-verbrauch/verbrauch.py
new file mode 100644
index 0000000..c09be26
--- /dev/null
+++ b/aufgabe6-quatal-verbrauch/verbrauch.py
@@ -0,0 +1,42 @@
+yearly_consumption = dict({})
+"""
+{
+    "2025": [
+        [3.4, 4.6, 3.7, 2.5],
+        [...]
+    ],
+    "2026": [],
+}
+"""
+year = None
+
+def start_new_year(line: str) -> (bool,int|None):
+    try:
+        year_part = line.strip()[1:].strip()
+        int(year_part)
+        return (True, year_part)
+    except :
+        return (False, None)
+
+def convert_line_to_consumpt(line:str) -> [float]:
+    line = line.replace(',', '.')
+    line = line.split(';')
+    values = []
+    for txt in line:
+        txt = txt.strip()
+        values.append(float(txt))
+    return values
+
+with open('./verbrauch-2025.csv') as f:
+    for line in f.readlines():
+        (is_new_year, year_nr) = start_new_year(line)
+        print(is_new_year, year_nr)
+        if is_new_year:
+            year = [] # new list
+            yearly_consumption[year_nr] = year
+            continue
+        year.append( convert_line_to_consumpt(line) )
+
+# debug
+print(yearly_consumption)
+
diff --git a/aufgabe6-quatal-verbrauch/verbrauch_test.py b/aufgabe6-quatal-verbrauch/verbrauch_test.py
new file mode 100644
index 0000000..7067ab9
--- /dev/null
+++ b/aufgabe6-quatal-verbrauch/verbrauch_test.py
@@ -0,0 +1,26 @@
+from verbrauch import start_new_year, convert_line_to_consumpt
+
+
+def test_start_new_year():
+    line = "# 2025\n"
+    (is_new_year, year_nr) = start_new_year(line)
+    assert is_new_year
+    assert year_nr == "2025"
+
+def test_not_start_new_year():
+    line = "[2025]\n"
+    (is_new_year, year_nr) = start_new_year(line)
+    assert not is_new_year
+    assert year_nr is None
+
+def test_not_start_new_year():
+    line = " # 2025\n"
+    (is_new_year, year_nr) = start_new_year(line)
+    print(is_new_year, year_nr)
+    assert is_new_year
+    assert year_nr == "2025"
+
+def test_convert_line_to_consumpt():
+    line = "5,5; 30; 32; 33,2; 38; 22; 21; 35,3"
+    consum = convert_line_to_consumpt(line)
+    print(consum)# eine liste von 5.5, 30, ....

--
Gitblit v1.10.0-SNAPSHOT