Projekt Domowy E: Konwersja temperatury
Jedna funkcja przekształca wartość na Celsjusza i z powrotem, a oddzielna weryfikacja odrzuca niemożliwą temperaturę.
Mała, ale bardzo przydatna aplikacja: wprowadź temperaturę, wybierz jednostkę przez przełączniki i natychmiast widzą wartości we wszystkich trzech skalach: Celsjusza, Fahrenheita, Kelvin:
ABSOLYUTNYJ_NOL_C = -273.15
def preobrazovat(znachenie: float, iz_edinicy: str) -> dict[str, float]:
if iz_edinicy == "C":
c = znachenie
elif iz_edinicy == "F":
c = farengejt_v_celsij(znachenie)
else:
c = kelvin_v_celsij(znachenie)
if c < ABSOLYUTNYJ_NOL_C:
raise ValueError(„temperatura poniżej zera absolutnego”)
return {"C": c, "F": celsij_v_farengejt(c), "K": celsij_v_kelvin(c)}
ValueError, zamiast milczeć, daje formalnie policzony, ale bezsensowny wynik.K. Poprawny wpis: 273.15 K: bez znaku ° i z odstępem między liczbą a symbolem. Ta notacja określa SI Brochure; brak ° nie oznacza, że skala zaczyna się od zera bezwzględnego.Formuły translacyjne pozostają czystymi funkcjami bez Tkinter, a okno jest tworzone tylko
W środku main(), jak we wszystkich innych domowych projektach.
Pełny kod: projects/tkinter/temperature-converter/temperature_converter.py
Quest
Dodaj tłumaczenie do skali Rankina (R = (C + 273,15) × 9 / 5) i z powrotem, z tym samym sprawdzeniem dla wartości fizycznie niemożliwych.
Issue „Add temperature converter” feat/temperature-converter
, 0°C = 32°F, 100°C = 212°F, 0°C = 273,15 K, -273,15°C = 0 K i niepowodzenie
przyjmuj wartość poniżej zera absolutnego, Pull Request.