Wypisuje zamiast zwracać
Model termiczny potrzebuje temperatur silnika w kelwinach, więc ktoś napisał małą funkcję przeliczającą. Nawet wydawało się, że działa: na ekranie pojawia się właściwa liczba. Ale model nie dostaje nic.
Przewidź, co wypisze program, sprawdź, co naprawdę oddaje funkcja, napraw ją, a potem napisz kolejne przeliczenie dla wyświetlaczy załogi.
Ukończ etap 1, aby odblokować ten etap.
Nie uruchamiaj jeszcze kodu. Przeczytaj go i zdecyduj, co wypisze w ostatniej linii. Wpisz swoje przewidywanie w prediction, na górze, w cudzysłowie. Potem uruchom kod i porównaj.
Na tym etapie zalicza każde przewidywanie: chodzi o to, żeby pomyśleć przed uruchomieniem. Po sprawdzeniu zobaczysz swoje przewidywanie obok tego, co wypisał Python.
Wypisują tu dwie rzeczy: funkcja i linia pod nią. Co zawiera engine_k?
Ukończ etap 1, aby odblokować ten etap.
Zbadaj. Wypisz, co oddaje to_kelvin(412.5), i zapisz to, jako tekst, w returned. Potem wypisz type(engine_k) i zapisz nazwę typu w value_type. Przed sprawdzeniem usuń dodane linie.
Zmień. Spraw, żeby to_kelvin() oddawała wynik, tak żeby program wypisał tylko:
ENG-2: 685.65 K
Ukończ etap 2, aby odblokować ten etap.
Napisz to_fahrenheit(celsius), która zwraca celsius * 9 / 5 + 32, i użyj jej, żeby wypisać:
CABIN: 70.7 °F ENG-2: 774.5 °F
Funkcja zwraca liczbę; print zaokrągla ją przez :.1f.
Podpowiedzi
Instrukcja return - podstawy
# Return - zwracanie wartości z funkcji
def convert_to_km(miles):
"""Przelicza mile na kilometry."""
return miles * 1.60934
# Przypisanie wyniku do zmiennej
distance = convert_to_km(100)
print(f"100 mil = {distance:.2f} km")
# Użycie bezpośrednio
print(f"50 mil = {convert_to_km(50):.2f} km")
# Funkcja bez return zwraca None
def just_display(text):
print(text)
result = just_display("Test")
print(f"Wynik: {result}")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].