Konwertowanie temperatur w Pythonie - Odkryj, jak przeliczyć temperaturę gwiazd ze stopni Celsjusza lub Fahrenheita na stopnie Kelwina za pomocą Pythona.

Konwertowanie temperatur w Pythonie

Temperatury gwiazd podaje się w jednostkach zwanych Kelwinami. Skala Kelvina jest wyjątkowa, ponieważ odnosi się do zera absolutnego, czyli temperatury, w której, według fizyki klasycznej, cząstki materii przestają drgać. Skala ta odzwierciedla związek między temperaturą a energią kinetyczną cząsteczek, co jest niezwykle istotne w obliczeniach termodynamicznych.

Skalę Kelvina przedstawia się również w formie spektrum koloru: od czerwieni, przez pomarańczowy, żółty, biały, aż po niebieski. Na pierwszy rzut oka może to wydawać się nieintuicyjne, ale temperatury bliżej czerwonego są chłodniejsze, a te bliżej niebieskiego - gorętsze. W codziennym życiu spotykamy się z tą skalą przy zakupie żarówek czy ustawieniach balansu bieli w fotografii.

Skala temperatur KelvinaStudenci Gdyńskiej Akademii Kosmicznej powinni znać metody przeliczania temperatur z jednostek mniej użytecznych w badaniu kosmosu, jak Celsiusz czy Fahrenheit. W tym artykule pokażemy, jak dokonać takich przeliczeń w prosty sposób za pomocą języka Python.

Aby móc dokonać konwersji musimy poznać wzory na przeliczenie stopni Celsiusza na Kelwina oraz stopni Fahrenheita na Kelwina. 

Przeliczanie stopni Celsjusza na Kelwina

Przeliczenie stopni Celsjusza na Kelwina jest stosunkowo łatwe. Wystarczy dodać do temperatury w stopniach Celsjusza 273,15, aby otrzymać temperaturę w kelwinach. Skale te różnią się tylko umiejscowieniem punktu zerowego.

Wzór przeliczenia temperatury w stopniach Celsiusza na tę w Kelwinach wygląda następująco:

T(K) = T(°C) + 273,15

Przeliczanie stopni Fahrenheita na Kelwina

Stopnie Fahrenheita są skalibrowane według temperatur zamarzania solanki, wody, temperatury ludzkiego ciała i wrzenia wody. Dzięki temu jest to miara bardziej intuicyjna dla ludzi, choć powszechnie używana głównie w USA i kilku innych krajach.

Wzór przeliczenia temperatury w stopniach Fahrenheita na tę w Kelwinach wygląda następująco:

T(K) = (T(F) − 32) × 5 ⁄ 9 + 273,15

Jak dokonać tych przeliczeń w języku Python?

Zanim przejdziemy do pisania kodu, musimy określić, jakie informacje będziemy potrzebować od użytkownika programu:

  1. Jaką temperaturę chce przeliczyć Celsjusza czy Fahrenheita na Kelwiny.
  2. Jaka jest wartość tej temperatury?

Są to dość proste wymagania, więc każdy początkujący programista pythona powinien sobie z nimi poradzić. 

Funkcje przeliczające temperatury

Zdefiniujmy 2 funkcje niezbędne przy wykonywaniu naszych obliczeń. Będą to funkcje celsius_to_kelvin oraz fahrenheit_to_kelvin . W jezyku Python części dziesiętne oddzielamy kropką zamiast jak w polskiej notacji przecinkiem.


def celsius_to_kelvin(celsius): 
    return celsius + 273.15

def fahrenheit_to_kelvin(fahrenheit): 
    return (fahrenheit - 32) * 5/9 + 273.15

Wyświetlenie menu wyboru funkcji

Wyświetlamy zatem menu wyboru przy pomocy funkcji print()


print("Wybierz typ przeliczenia:")
print("1. Tempera w stopniach Celsjusza na temperaturę w stopniach Kelwina.")
print("2. Tempera w stopniach Fahrenheita na temperaturę w stopniach Kelwina.")

Pobranie wartości

Ten kod niestety jest mało interaktywny i nie spowoduje żadnego rodzaju pobrania wartości ani tym bardziej przeliczenia. Dlatego przy pomocy funkcji input() możemy pobrać wybór menu i wyświetlić kolejne polecenie.


choice = int(input("Wpisz 1 lub 2 i wciśnij enter: "))

Wybór wpisany przez użytkownika przypisujemy do zmiennej choice jako wartość liczbowa int.

Dokonanie obliczeń

Mając zapisany wybór w zmiennej choice możemy wywołać odpowiednią funkcję i pobrać wartość do obliczeń, lub poinformować użytkownika, że wpisał błędną wartość.


if choice == 1: 

    celsius = float(input("Wpisz temperaturę w stopniach Celsjusza: ")) 
    kelvin = celsius_to_kelvin(celsius) 
    print(f"Temperatura w stopniach Kelwina to: {kelvin:.2f} K") 

elif choice == 2: 

    fahrenheit = float(input("Wpisz temperaturę w stopniach   Fahrenheita: ")) 
    kelvin = fahrenheit_to_kelvin(fahrenheit) 
    print(f"Temperatura w stopniach Kelwina to: {kelvin:.2f} K") 

else: 
    print("Błędny wybór. Wpisz 1 lub 2.")

Kod zawiera pełne menu wyboru i funkcje do przeliczania temperatur. W zakładce kod możesz pobrać pełną wersję skryptu. Jako dodatkowe ćwiczenie możesz dopisać funkcje przeliczające temperatury z kelwinów na stopnie Fahrenheita i Celsjusza oraz zmodyfikować menu, aby dodać te opcje. Powodzenia!

Zdjęcie Greg Rakozy na Unsplash

def celsius_to_kelvin(celsius): 
    return celsius + 273.15

def fahrenheit_to_kelvin(fahrenheit): 
    return (fahrenheit - 32) * 5/9 + 273.15

print("Wybierz typ przeliczenia:")
print("1. Tempera w stopniach Celsjusza na temperaturę w stopniach Kelwina.")
print("2. Tempera w stopniach Fahrenheita na temperaturę w stopniach Kelwina.")

choice = int(input("Wpisz 1 lub 2 i wciśnij enter: "))


if choice == 1: 

    celsius = float(input("Wpisz temperaturę w stopniach Celsjusza: ")) 
    kelvin = celsius_to_kelvin(celsius) 
    print(f"Temperatura w stopniach Kelwina to: {kelvin:.2f} K") 

elif choice == 2: 

    fahrenheit = float(input("Wpisz temperaturę w stopniach   Fahrenheita: ")) 
    kelvin = fahrenheit_to_kelvin(fahrenheit) 
    print(f"Temperatura w stopniach Kelwina to: {kelvin:.2f} K") 

else: 
    print("Błędny wybór. Wpisz 1 lub 2.")

Eksploruj również inne tematy

Szóstkowy system liczbowy w Pythonie - Eridianie z Project Hail Mary liczą w systemie szóstkowym, bo mają po trzy palce na dwóch rękach. Zbudujmy w Pythonie konwerter, który przetłumaczy nasze liczby na eridiańskie symbole i odwrotnie.

Szóstkowy system liczbowy w Pythonie

Eridianie z Project Hail Mary liczą w systemie szóstkowym, bo mają po trzy palce na dwóch rękach. Zbudujmy w Pythonie konwerter, który przetłumaczy nasze liczby na eridiańskie symbole i odwrotnie.

Python If/Else dla początkujących - Naucz się instrukcji if, elif i else w Pythonie dzięki przejrzystym, kosmicznym przykładom i praktycznym ćwiczeniom. Idealny przewodnik dla początkujących, którzy chcą kontrolować przepływ swoich programów.

Python If/Else dla początkujących

Naucz się instrukcji if, elif i else w Pythonie dzięki przejrzystym, kosmicznym przykładom i praktycznym ćwiczeniom. Idealny przewodnik dla początkujących, którzy chcą kontrolować przepływ swoich programów.

Pętle zagnieżdżone w Pythonie - Pętle zagnieżdżone pozwalają pracować z danymi 2D jak siatki, tabele i obrazy. Dowiedz się jak działają, unikaj pułapek i pisz czytelniejszy kod w Pythonie.

Pętle zagnieżdżone w Pythonie

Pętle zagnieżdżone pozwalają pracować z danymi 2D jak siatki, tabele i obrazy. Dowiedz się jak działają, unikaj pułapek i pisz czytelniejszy kod w Pythonie.

Czy programista musi znać angielski? - Trochę angielskiego się przyda, ale spokojnie - to nie matura rozszerzona. Większość kodu używa 50-100 słów, które zapamiętasz naturalnie. Oto realistyczny przewodnik dla polskich programistów.

Czy programista musi znać angielski?

Trochę angielskiego się przyda, ale spokojnie - to nie matura rozszerzona. Większość kodu używa 50-100 słów, które zapamiętasz naturalnie. Oto realistyczny przewodnik dla polskich programistów.