Spis treści:
1. Cel powstania kursu
2. Podstawowe typy
3. Operatory
5. Zadania
Następna lekcja: Lekcja 2 (stringi i pobieranie danych od użytkownika)
Cele powstania kursu:
- nauka programowania w języku skryptowym Python,
- nauka prostych i średnio zaawansowanych technik programowania,
- pomoc w uzyskaniu certyfikatu ukończenia kursu MIT.
W celu rozwiązania zadań proponuję używać serwisu ideone.com.
Język Python to język skryptowy. Do wykonania kodu napisanego w tym języku potrzebny jest interpreter. Interpreter to program, który analizuje kod (nie kompiluje) programu linia po linii i realizuje odpowiednie definicje i rozkazy. Samo programowanie w tym lub innym języku programowanie to manipulowanie obiektami. W przypadku Pythona możemy obiekty podzielić na proste i złożone. Proste to takie, które nie posiadają wewnętrznych metod do których ma dostęp programista np. int (reprezentuje liczby całkowite), float (reprezentuje liczby rzeczywiste), bool (reprezentuje wartości logiczne).
Aby poznać typ danej zmiennej można użyć wbudowanej funkcji type.
Odpowiedź skryptu poniżej
Aby modyfikować wartości liczbowe można użyć poniższych operatorów:
Python w bardziej złożonych wyrażeniach wykonuje działania w określonej kolejności:
spowoduje wypisanie liczby 0.
Liczby można porównywać ze sobą za pomocą odpowiednich operatorów:
odpowiedź programu
Na wartościach logicznych można użyć operatorów logicznych
odpowiedź programu
W Pythonie jako fałsz traktowane są:
Jednym z najczęściej używanych operatorów jest operator przypisania "=". Dzięki niemu można nadać konkretna wartość zmiennej np. i = 5.
Zmienne czyli pojemniki na wartości nie muszą mieć nazw jednoliterowych. Możemy wykorzystywać całe wyrazy w celu nazwania zmiennej. W przypadku języka Python nie trzeba podawać typu zmiennej. Jest on nadawany automatycznie zmiennej podczas przypisywania jej wartości. Mimo, że jest to wygodne to stwarza pewien problem przy analizie kodu napisanego przez kogoś innego. Na pierwszy rzut oka nie widać jakie typy reprezentują dane zmienne i nie jesteśmy w stanie przewidzieć wyniku pewnych działań np. dzielenia. Aby pomóc w rozszyfrowaniu kodów źródłowych wprowadzono pewne konwencje nadawania nazw. Warto się z nimi zapoznać i wybrać dla siebie najlepsze np. camelCase, PascalCase, small_caps_snake_case, BIG_CAPS_SNAKE_CASE itp.. W czasie nauki i tworzenia programów dla siebie nie jest ważne, którą przyjmie się konwencję (czy mieszankę konwencji) ale to by trzymać się swojego wyboru od początku do końca kodu.
Aby zmienić typ danej wartości np. liczbę całkowitą 3 chcemy odczytać jako liczbę rzeczywistą 3.0, używa się mechanizmu nazwanego rzutowaniem. Wygląda to następująco
odpowiedź programu
Należy pamiętać, że w Pythonie podobnie jak w większości języków programowania gdy wykonujemy dzielenie liczby całkowitej przez drugą liczbę całkowitą mamy do czynienia z dzieleniem całkowitym. Stąd 2/i (zmienna i == 5) w powyższym przykładzie daje 0.
Następna lekcja: Lekcja 2 (stringi i pobieranie danych od użytkownika)
Zadania
1. Jakie typy reprezentują poniższe wartości?
a. 1
b. -87
c. 0.34
d. 3.0
e. True
2. Jaki wynik otrzyma się po wykonaniu poniższych działań?
a. 5 + 3
b. 5 + 3.0
c. 5 * 3
d. 5 * 3.0
e. - - 3
f. - - - 3.3
g. 1 + 2 -3 * 2
h. 2 + 3 * 4 ** 2
i. (2 + 3) / 4
j. (2 + 3) * 5
3. Jaką wartość logiczną otrzyma się po wykonaniu poniższych instrukcji?
a. 1 > 2
b. 1 > 1.0
c. 1 > - - 1
d. 1 == 1.0
e. 1 != 3
f. 1 > 4 > 10
g. True and False
h. True or False
i. bool(1.3 or True)
j. bool(1.3 or 3)
k. not False
l. not -23
m. 1 > 5 and 4 < 8
n. bool(1.3 or (3 < 5 and True == 4))
4. Jakiego typu (int, float czy bool) będzie wynik poniższych działań?
a. 3 + 2
b. 3 + 2.0
c. float(3) + 2
d. float(3) + 2.0
e. 24 + True
f. 24 and True
g. 12 / 5
h. 12.0 / 5
i. 12 / 5.0
j. True + True
k. 2/3 == 4 ** 2
l. 3 > 5 + 4
1. Cel powstania kursu
2. Podstawowe typy
3. Operatory
- algebraiczne
- porównania
- logiczne
- przypisania
5. Zadania
Następna lekcja: Lekcja 2 (stringi i pobieranie danych od użytkownika)
Cele powstania kursu:
- nauka programowania w języku skryptowym Python,
- nauka prostych i średnio zaawansowanych technik programowania,
- pomoc w uzyskaniu certyfikatu ukończenia kursu MIT.
W celu rozwiązania zadań proponuję używać serwisu ideone.com.
Język Python to język skryptowy. Do wykonania kodu napisanego w tym języku potrzebny jest interpreter. Interpreter to program, który analizuje kod (nie kompiluje) programu linia po linii i realizuje odpowiednie definicje i rozkazy. Samo programowanie w tym lub innym języku programowanie to manipulowanie obiektami. W przypadku Pythona możemy obiekty podzielić na proste i złożone. Proste to takie, które nie posiadają wewnętrznych metod do których ma dostęp programista np. int (reprezentuje liczby całkowite), float (reprezentuje liczby rzeczywiste), bool (reprezentuje wartości logiczne).
Aby poznać typ danej zmiennej można użyć wbudowanej funkcji type.
1 2 | print type(3) print type(3.0) |
<type 'int'> <type 'float'>
Aby modyfikować wartości liczbowe można użyć poniższych operatorów:
- suma i + j
- różnica i - j
- iloczyn i * j
- iloraz i / j
- reszta z dzielenia całkowitego i % j
- potęga i ** j
i = 2 j = 3 print i + j print i - j print i * j print i % j print i ** j
- najpierw **
- następnie *, / oraz %
- a dopiero na końcu + i -
print 2 % 3 * 3 % 2
Liczby można porównywać ze sobą za pomocą odpowiednich operatorów:
- większości i > j
- mniejszości i < j
- większości lub równości i >= j
- mniejszości lub równości i <= j
- równości i == j
- nierówności i != j
1 2 3 4 5 6 7 8 9 | i = 1 j = 0 print i > j print i < j print i >= j print i <= j print i == j print i != j |
True False True False False True
Na wartościach logicznych można użyć operatorów logicznych
- koniunkcja logiczna i and j
- alternatywa logiczna i or j
- negacja not i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | i = True j = False print i and j print i or j print not i i = 1.5 j = 0 print (i and j) print (i or j) print bool(i or j) print not not(i or j) print not i |
False True False 0 1.5 True True False
W Pythonie jako fałsz traktowane są:
- liczba zero (0, 0.0, 0j itp.)
- False
- None (null)
- puste kolekcje ([], (), {}, set() itp.)
- puste napisy
- w Pythonie 2 – obiekty posiadające metodę __nonzero__(), jeśli zwraca ona False lub 0
- w Pythonie 3 – obiekty posiadające metodę __bool__(), jeśli zwraca ona False
Jednym z najczęściej używanych operatorów jest operator przypisania "=". Dzięki niemu można nadać konkretna wartość zmiennej np. i = 5.
Zmienne czyli pojemniki na wartości nie muszą mieć nazw jednoliterowych. Możemy wykorzystywać całe wyrazy w celu nazwania zmiennej. W przypadku języka Python nie trzeba podawać typu zmiennej. Jest on nadawany automatycznie zmiennej podczas przypisywania jej wartości. Mimo, że jest to wygodne to stwarza pewien problem przy analizie kodu napisanego przez kogoś innego. Na pierwszy rzut oka nie widać jakie typy reprezentują dane zmienne i nie jesteśmy w stanie przewidzieć wyniku pewnych działań np. dzielenia. Aby pomóc w rozszyfrowaniu kodów źródłowych wprowadzono pewne konwencje nadawania nazw. Warto się z nimi zapoznać i wybrać dla siebie najlepsze np. camelCase, PascalCase, small_caps_snake_case, BIG_CAPS_SNAKE_CASE itp.. W czasie nauki i tworzenia programów dla siebie nie jest ważne, którą przyjmie się konwencję (czy mieszankę konwencji) ale to by trzymać się swojego wyboru od początku do końca kodu.
Aby zmienić typ danej wartości np. liczbę całkowitą 3 chcemy odczytać jako liczbę rzeczywistą 3.0, używa się mechanizmu nazwanego rzutowaniem. Wygląda to następująco
1 2 3 4 5 6 7 8 9 10 | i = 5 j = 4.66 print i print float(i) print bool(i) print int(j) print bool(j) print 2/i print 2/float(i) |
5 5.0 True 4 True 0 0.4
Należy pamiętać, że w Pythonie podobnie jak w większości języków programowania gdy wykonujemy dzielenie liczby całkowitej przez drugą liczbę całkowitą mamy do czynienia z dzieleniem całkowitym. Stąd 2/i (zmienna i == 5) w powyższym przykładzie daje 0.
Następna lekcja: Lekcja 2 (stringi i pobieranie danych od użytkownika)
Zadania
1. Jakie typy reprezentują poniższe wartości?
a. 1
b. -87
c. 0.34
d. 3.0
e. True
2. Jaki wynik otrzyma się po wykonaniu poniższych działań?
a. 5 + 3
b. 5 + 3.0
c. 5 * 3
d. 5 * 3.0
e. - - 3
f. - - - 3.3
g. 1 + 2 -3 * 2
h. 2 + 3 * 4 ** 2
i. (2 + 3) / 4
j. (2 + 3) * 5
3. Jaką wartość logiczną otrzyma się po wykonaniu poniższych instrukcji?
a. 1 > 2
b. 1 > 1.0
c. 1 > - - 1
d. 1 == 1.0
e. 1 != 3
f. 1 > 4 > 10
g. True and False
h. True or False
i. bool(1.3 or True)
j. bool(1.3 or 3)
k. not False
l. not -23
m. 1 > 5 and 4 < 8
n. bool(1.3 or (3 < 5 and True == 4))
4. Jakiego typu (int, float czy bool) będzie wynik poniższych działań?
a. 3 + 2
b. 3 + 2.0
c. float(3) + 2
d. float(3) + 2.0
e. 24 + True
f. 24 and True
g. 12 / 5
h. 12.0 / 5
i. 12 / 5.0
j. True + True
k. 2/3 == 4 ** 2
l. 3 > 5 + 4
Komentarze