Update gradation.py
This commit is contained in:
17
gradation.py
17
gradation.py
@ -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__':
|
||||||
|
Reference in New Issue
Block a user