Parametry i return

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Parametry i return
Required In Progress

Python • kurs podstawowy • lekcja 17

Parametry i return

Funkcja obliczająca pole ma działać dla różnych boków.

Twój cel: Przekażesz argumenty do funkcji i wykorzystasz jej wartość zwracaną.

Definiowanie i wywoływanie funkcji.

Co ma zrobić program?

Parametry to nazwy wejść w definicji, a argumenty to konkretne wartości przekazane przy wywołaniu. Przy area(4, 3) wartość 4 trafia do width, a 3 do height.

return kończy bieżące wywołanie i przekazuje wartość do miejsca wywołania. Możesz przypisać ją do zmiennej, porównać albo użyć w dalszym działaniu. print pokazuje tekst na ekranie, a jego wartością zwracaną jest None. Funkcja bez wykonanego return z wartością także zwraca None.

Nazwy parametrów są lokalne dla wywołania. Nie oczekuj, że samo wywołanie utworzy width w programie głównym. Instrukcja po bezwarunkowym return w tym samym bloku nie zostanie wykonana. Dlatego najpierw obliczamy to, co potrzebne, potem zwracamy wynik.

Przewidź przed uruchomieniem

def area(width, height):
    return width * height

result = area(4, 3)
print(result + 2)
Porównaj wynik i prześledź mechanizm
Argumenty są wejściem, return daje wynik do dalszego użycia. Wyświetlanie i obliczanie pełnią różne role.
Argumenty są wejściem, return daje wynik do dalszego użycia. Wyświetlanie i obliczanie pełnią różne role.

Tylko 14. Funkcja zwraca 12 do przypisania result. Dopiero print oblicza 12 + 2 i wyświetla 14. return nie jest instrukcją drukowania.

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

14
Etap Dane
Argumenty 4 i 3
Parametry width = 4, height = 3
return 12
result + 2 14
Model do prześledzenia: porównaj każdy etap z kodem. Etykiety opisują znaczenie danych, nie tylko ich wygląd.

Zmień działający program

Napisz is_even(number), które zwraca bool. Sprawdź 4 i 5, wypisując wynik wywołania.

Pierwsza wskazówka

Zachowaj działający punkt wyjścia. Zlokalizuj konstrukcję wskazaną w poleceniu i zmień tylko ten etap. Przed uruchomieniem zapisz oczekiwany efekt.

Porównaj swoją modyfikację
def is_even(number):
    return number % 2 == 0

print(is_even(4))
print(is_even(5))

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

True
False

Znajdź przyczynę problemu

Celowo błędny przykład diagnostyczny. Najpierw postaw hipotezę. Nie kopiuj tej wersji jako poprawnego rozwiązania.

Zamierzone działanie: Oblicz podwojoną wartość i dodaj do niej 1.

def double(number):
    print(number * 2)

result = double(3)
print(result + 1)
Trop do diagnozy

Porównaj zamierzony rezultat z typami, nazwami i kolejnością instrukcji. Wskaż pierwsze miejsce, w którym zachowanie odbiega od celu.

Zastosuj w nowej sytuacji

Wskazówka do rozpoczęcia

Argumenty są wejściem, return daje wynik do dalszego użycia. Wyświetlanie i obliczanie pełnią różne role.

Zacznij od przygotowania danych. Pierwsza instrukcja przykładowego rozwiązania:

def total_price(price, count):
Rozwiązanie do samodzielnej kontroli
def total_price(price, count):
    return price * count

change = 20 - total_price(4, 3)
print(change)
print(total_price(4, 0))

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

8
0

Porównaj dane wejściowe, wynik i powód użycia konstrukcji. Inna wersja kodu jest poprawna, jeśli realizuje te same wymagania.

Co zabierasz do kolejnego programu?

Argumenty są wejściem, return daje wynik do dalszego użycia. Wyświetlanie i obliczanie pełnią różne role.

Bez zaglądania do przykładu wyjaśnij własnymi słowami, jak główna konstrukcja prowadzi od danych do wyniku. Potem sprawdź wyjaśnienie, uruchamiając swój program.