1: Zmienne

Zmienne stanowią "miejsce przechowywania" danych w programie. To jest sposób nazywania informacji do późniejszego wykorzystania. Każda zmienna ma nazwę; na przykład nazwą zmiennej będzie myLuckyNumber. Aby zapisać informację w zmiennej, piszemy komendę używając znaku równości w następujący sposób:

«nazwa zmiennej» = «wartość jaką chcesz przechować»
(W naszych lekcjach używamy «podwójnych nawiasów kątowych», jak powyżej, w celu wskazania specjalnych części wyrażeń). Przykładowa linia w Pythonie

myLuckyNumber = 13
przechowa wartość 13 w zmiennej myLuckyNumber. Następnie, jeśli gdziekolwiek użyjesz ponownie nazwy zmiennej myLuckyNumber, Python przywoła zapisaną wartość. Poniżej znajduje się krótki przykład użycia zmiennych. Ma więcej niż jedną linię instrukcji: Python wykonuje pierwszą linię, potem drugą linię i tak dalej aż do ostatniej linii. Naciśnij przycisk Uruchom program, aby zobaczyć, co on robi.
Przykład
Przykład użycia zmiennych.
Spójrz na kolejne 5 wierszy programu i na to, co otrzymujemy na wyjściu. Jak widać, myLuckyNumber zachowuje wartość 13 dla pierwszych dwóch instrukcji print, a następnie jego wartość zostaje zmieniona na 7. Wprowadziliśmy także operator dodawania (+), który dodaje dwie liczby. Podobnie istnieją operatory odejmowania (-), mnożenia (*) i dzielenia (/). Wrócimy do nich w późniejszej części lekcji. Można symulować zawartość pamięci komputera śledząc i zapisując wartości w tabeli na kartce papieru. Oto przykład; pamiętaj, że * oznacza w Pythonie mnożenie.

Cel: określenie ostatecznych wartości wszystkich zmiennych na koniec programu.

first = 2
second = 3
third = first * second
second = third - first
first = first + second + third
third = second * first
Idea: Używamy tabeli, aby śledzić kolejne zmiany wartości. Przewiń do dołu, aby zobaczyć ostateczną odpowiedź.

Instrukcja Wartości po wykonaniu instrukcji
first second third
first = 2 2
second = 3 2 3
third = first * second 2 3 6
second = third - first 2 3 4 6
first = first + second + third 2 12 4 6
third = second * first 12 4 6 48

Tak więc po wykonaniu programu, wartość first wynosi 12, wartość second wynosi 4, i wartość third wynosi 48.

Rysowanie na papierze ołówkiem tabeli jest zawsze dobrym pomysłem i jest pomocne przy w zrozumieniu lub ustaleniu kodu. Mamy także zautomatyzowane narzędzie wizualizacji Pythona 3, które wykonuje takie programy, jak ten krok po kroku (zobacz także link w górnym menu). Zobacz, jak to wygląda, gdy uruchamiamy ten sam program na wizualizerze. Użyj przycisku Forward lub naciśnij klawisz strzałki na klawiaturze, aby przejść do przodu (lub back). Zauważ, jak zmienne zmieniają się w miarę wykonywania kolejnej linii. Tutaj jest krótkie ćwiczenie na temat zmiennych.

Zadanie krótkiej odpowiedzi: Znajdź x
Jaka jest wartość x po wykonaniu poleceń?

x = 10
x = x + x
x = x - 5
Bezbłędnie!

Dwa typowe błędy

Jeśli zapytasz Pythona o zmienną, która nie została zdefiniowana, otrzymasz błąd.

Przykład: Niezdefiniowana zmienna
Jak widać, otrzymaliśmy komunikat informujący o błędzie NameError: name 'trouble' is not defined. Czasami można uzyskać takie błędy z powodu prostych literówek: jeśli zdefiniujesz zmienną address=32 a następnie spróbujesz wykonać print(adress), pojawi się ten sam typ błędu. Inny błąd ma związek z przypadkową zamianą stron w instrukcji x = wyrażenie.
Przykład: SyntaxError: can't assign to literal
Pierwsza linia jest w porządku, druga linia powoduje błąd: Python w drugiej linii 4 = x próbuje zmienić wartość 4, ale taka zmiana jest tylko dozwolona dla wartości zmiennych, a 4 nie jest zmienną. Podczas gdy A = B i B = A są tym samym w matematyce, to w programowaniu to różne zapisy.

Ćwiczenie

To jest rozgrzewka byś mógł zacząć zajmować się zmiennymi.

Zadanie na kodowanie : Głowy, Ramiona, Kolana i Palce
Wpisz fragment kodu (krótką część programu w Pythonie) liczący głowy, ramiona, kolana i palce wszystkich osób na imprezie. W automatycznym testerze została już dla ciebie zdefiniowana zmienna people określająca liczbę osób na imprezie. Twój kod musi definiować cztery zmienne, jedną o nazwie heads, jedną o nazwie shoulders, jedną o nazwie knees, a jedną o nazwie toes, równe odpowiednio liczbie głów, ramion, kolan i stóp wszystkich na imprezie. Twój program nie ma drukować żadnych wyników. Każdorazowo, gdy uruchomisz program, nasz automatyczny tester będzie generować losową wartość dla people.
Kliknij tutaj, jeśli chcesz skorzystać ze wskazówki.

Przestawianie kodu

Następnym punktem tej lekcji jest nowy typ ćwiczenia, w którym nie trzeba programować. Zapewniamy Ci prawidłowy program, ale jego kolejne linie zostały pomieszane. Twoim zadaniem jest przeciąganie i upuszczanie linii, aby je uporządkować w odpowiedni program.

Zadanie na uporządkowanie: Szybki kalkulator
Jesteś w wyścigu rowerów, który jedzie w górę i w dół wzgórza. Nasz automatyczny tester zaplanował wstępnie cztery zmienne: uphillDistance i downhillDistance, które podają dystans (kilometry) w obu częściach wyścigu, a uphillTime i downhillTime podają czas (minuty), jaki zajmuje Ci wykonanie każdej z części wyścigu. Napisz program, który wydrukuje średnią prędkość (w km/min) dla całego wyścigu.
Przeciągnij i upuść za pomocą myszy, aby zmienić kolejność linii.
Kliknij, podpowiemy, jeśli utkniesz
  • totalDistance = uphillDistance + downhillDistance
  • print(averageSpeed)
  • averageSpeed = totalDistance / totalTime
  • totalTime = uphillTime + downhillTime

Exchange Program

To jest ostatnie ćwiczenie na tej lekcji.

Zadanie na kodowanie : Program zamiany
Napisz program, który zamienia wartości dwóch zmiennych. Zmienne x i y są już w naszym automatycznym testerze zdefiniowane dla Ciebie i zawierają wartości liczbowe . Musisz napisać kod, który wymienia ich wartości: wartość x po uruchomieniu kodu musi być równa wartości, którą y miało przed uruchomieniem kodu, a wartość y po uruchomieniu kodu musi równać się wartości, jaką x miało przed uruchomieniem kodu. Twój program nie musi drukować żadnych danych wyjściowych.
Najprostsze rozwiązanie jest krótkie, ale może być trudne do znalezienia. Możesz kliknąć na każdą ze wskazówek, jeśli chcesz ją przeczytać.
Wskazówka, część 1
Aby rozwiązać ten problem nie musisz używać żadnych operatorów arytmetycznych (+ - * /). Potrzebujesz użyć tylko zmiennych i znaku =. Możesz zdefiniować nowe zmienne pod dowolną nazwą, jeśli potrzebujesz.
Wskazówka, część 2
Mamy dwa cele: przenieść oryginalną wartość y na x, a oryginalną wartość x na y. Gdybyśmy tylko chcieli zrealizować pierwszy cel (innymi słowy, gdybyśmy tylko chcieli umieścić wartość y w x), moglibyśmy do tego użyć tylko jeden wiersz programu:

x = y
Jak możemy zrealizować oba cele jednocześnie?
Wskazówka, część 3
Następujący program wydaje się być obiecujący:

x = y
y = x
Ale jest pewien problem. Załóżmy na przykład, że x jest równe 10 a y 99. Jeśli będziemy uruchamiać powyższy dwuwierszowy program, po pierwszej linijce x i y będą równe 99. Druga linia nie przynosi żadnego efektu. Możesz wpisać ten program i uruchomić go, aby sprawdzić, co się dzieje. Należy się zastanowić, jak można zachować gdzieś pierwotną wartość x, aby później ją użyć?
Wskazówka, część 4
Twoja pierwsza linia mogłaby na przykład wyglądać tak xOriginal = x, by móc użyć później oryginalną wartość x. Następnie można zapisać x = y. Na koniec ustalmy, że y jest równe pierwotnej wartości x.
Wskazówka, część 5
Kliknij, aby przeczytać stronę Wikipedii podającą pseudokod (w innym języku) zamiany wartości zmiennych. Oto link do drugiej metody, która w ciekawy sposób wykorzystuje arytmetykę, ale będzie działać tylko na liczbach, a nie na tekście.
Po prawidłowym wykonaniu tego ćwiczenia jesteś gotowy, aby przejść do kolejnej lekcji. Kliknij poniżej przycisk Dalej.