Rozdział 23 · Aneks

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:

temperature_converter.py
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)}
-300°C nie istnieje
Zero absolutne ustala minimalną możliwą temperaturę: -273,15°C, 0 K, -459,67°F. Każda wartość poniżej tego limitu jest fizycznie możliwa, a wniosek odrzuca ją z oczywistym błędem ValueError, zamiast milczeć, daje formalnie policzony, ale bezsensowny wynik.
K, nie °K
Jednostka SI nazywana jest Kelvin, jego symbol: 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

★★ Zadanie samodzielne
Skala Rankine'a

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.

GitHubPraktyka GitHub

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.

Praktyka: formuły i sprawdzanie zera absolutnego
Moduł tkinter otwiera natywne okno Python. praktyki lokalnej w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →
Oficjalna dokumentacja
BIPM SI Brochure, 9th edition