Hong-Phuc Bui
2025-05-27 75579e1a355839aacf20dce3fd0a486279aef4c2
lösung
1 files modified
2 files added
72 ■■■■■ changed files
aufgabe6-quatal-verbrauch/verbrauch-2025.csv 4 ●●●● patch | view | raw | blame | history
aufgabe6-quatal-verbrauch/verbrauch.py 42 ●●●●● patch | view | raw | blame | history
aufgabe6-quatal-verbrauch/verbrauch_test.py 26 ●●●●● patch | view | raw | blame | history
aufgabe6-quatal-verbrauch/verbrauch-2025.csv
@@ -4,3 +4,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
aufgabe6-quatal-verbrauch/verbrauch.py
New file
@@ -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)
aufgabe6-quatal-verbrauch/verbrauch_test.py
New file
@@ -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, ....