Update gradation.py

This commit is contained in:
2022-11-03 01:12:39 +01:00
parent 1a21d76971
commit 57956b02ee
2 changed files with 14 additions and 4 deletions

View File

@ -6,10 +6,14 @@ import math
class Gradation: class Gradation:
grams_per_liter: int mg_per_liter: int
def __init__(self, grams_per_liter: Union[float, int]): def __init__(self, grams_per_liter: Union[float, int]):
self.grams_per_liter = int(grams_per_liter) self.mg_per_liter = int(grams_per_liter * 1000)
@property
def grams_per_liter(self) -> float:
return self.mg_per_liter / 1000
def get_nm(self) -> float: def get_nm(self) -> float:
return self.grams_per_liter / 10 return self.grams_per_liter / 10
@ -44,16 +48,21 @@ def test():
assert round(g1.get_kmw(), 1) == 15 assert round(g1.get_kmw(), 1) == 15
assert round(g1.get_oe(), 0) == 73 assert round(g1.get_oe(), 0) == 73
for i in range(14 * 10, 22 * 10):
kmw = i / 10
g2 = Gradation.from_kmw(kmw)
assert kmw == round(g2.get_kmw(), 1), f"{kmw} != {g2.get_kmw():.1f}"
def print_all(): def print_all():
for i in range(14 * 2, 22 * 2): for i in range(14 * 2, 22 * 2):
kmw = i / 2 kmw = i / 2
g = Gradation.from_kmw(kmw) g = Gradation.from_kmw(kmw)
print(f"{kmw} -> {g.get_kmw():.1f} °KMW, {g.get_oe():3.0f} °Oe, {g.get_nm():.1f} °NM, {g.grams_per_liter}") print(f"{kmw} -> {g.get_kmw():.1f} °KMW, {g.get_oe():3.0f} °Oe, {g.get_nm():.1f} °NM, {g.grams_per_liter:.1f}")
print("================================") print("================================")
for oe in range(65, 110): for oe in range(65, 110):
g = Gradation.from_oe(oe) g = Gradation.from_oe(oe)
print(f"{oe:3} -> {g.get_kmw():.1f} °KMW, {g.get_oe():3.0f} °Oe, {g.get_nm():.1f} °NM, {g.grams_per_liter}") print(f"{oe:3} -> {g.get_kmw():.1f} °KMW, {g.get_oe():3.0f} °Oe, {g.get_nm():.1f} °NM, {g.grams_per_liter:.1f}")
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -3,3 +3,4 @@ date;from;to;hours;category;name
2022-10-31;16:00;18:00;2;assessment;Erstes Treffen mit Christian Perschl 2022-10-31;16:00;18:00;2;assessment;Erstes Treffen mit Christian Perschl
2022-10-31;22:00;01:00;3;structure;Projektstruktur 2022-10-31;22:00;01:00;3;structure;Projektstruktur
2022-11-02;19:30;21:30;2;structure;Klassendiagram 2022-11-02;19:30;21:30;2;structure;Klassendiagram
2022-11-02;23:45;01:15;1.5;structure;Gradation

1 date from to hours category name
3 2022-10-31 16:00 18:00 2 assessment Erstes Treffen mit Christian Perschl
4 2022-10-31 22:00 01:00 3 structure Projektstruktur
5 2022-11-02 19:30 21:30 2 structure Klassendiagram
6 2022-11-02 23:45 01:15 1.5 structure Gradation