From f23d0ad3fbf184ff79d865c5ed885f809adcc238 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Thu, 3 Nov 2022 01:12:39 +0100 Subject: [PATCH] Update gradation.py --- gradation.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gradation.py b/gradation.py index a4e59a7..9990861 100755 --- a/gradation.py +++ b/gradation.py @@ -6,10 +6,14 @@ import math class Gradation: - grams_per_liter: int + mg_per_liter: 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: return self.grams_per_liter / 10 @@ -44,16 +48,21 @@ def test(): assert round(g1.get_kmw(), 1) == 15 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(): for i in range(14 * 2, 22 * 2): kmw = i / 2 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("================================") for oe in range(65, 110): 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__':