albo na pasku Tools/Python or Debug Console
3. ćwiczenia (wszystko co jest zaznaczone w ten sposób: 3 + 3
wpisujemy w konsolę Pythona (bez komentarzy)):
2 + 2
3 * 2
5**2
5**3
2 + 6**2
- generalnie wniosek jest taki, ze Python potrafi wykonywać matematyczne operacje
(2+6)**2
- nawiasy też działają10/2
10/1
10/0
- ERROR ZeroDivisionError: division by zero11/3
11//3
(dwa znaki dzielenia), zwróci 3 (czyli dwa znaki dzielenia zostawiają tylko część całkowitą wyniku)21%5
- zwraca tylko resztę z dzielenia100%5
'abc'
'łódź'
- rozumie polskie znaki'😀'
- rozumie emotikonki'abc' + '.txt'
- potrafi dodawać wyrazy'Cześć' + 'Python'
- trzeba uważać na spacje'abc '*10
- potrafi 'mnożyć' wyrazy (twórcy Pythona uznali, że skoro mnożenie liczb, np.3 * 3 = 3 + 3 + 3
, to'abc' * 3 = 'abc' + 'abc' + 'abc'
, stąd można 'mnożyć' wyrazy)'abc' + 3
- ERROR TypeError: can only concatenate str (not "int") to str (po prostu twórcy Pythona uznali, że w przeciwieństwie do mnożenia, dodawanie wyrazów do liczb nie ma sensu)str(3)
3
jaka jest różnica między wynikiem 8. a 9.? - różnica jest subtelna, 8. ma cudzysłów, 9. nie ma czyli 8. jest rozumiane jako wyraz (string) a 9. jako liczba
'abc' + str(3)
- teraz już dodajemy wyraz do wyrazu'abc' + '3'
- tak też można, bo cyfra3
jest w cudzysłowie
10/2
2+3
różnica jest taka, że raz mamy 5.0
a raz bez zera 5
, bo Python nie traktuje ich tak samo (powód nie jest trywialny i nie ma co na razie tracic na to czasu, kiedyś do tego wrócimy)
'abc '* 5.0
- ERROR TypeError: can't multiply sequence by non-int of type 'float'
podsumujmy jakie rodzaje danych rozróżnia Python:
int
- liczby całkowite (ang. integers)float
- liczby z przecinkiem (dziwna nazwa, powód jak wyżej było wspomniane nie jest trywialny i kiedyś do tego wrócimy)str
- wyrazy (ang. string, w pythonie )
name = 'James'
age = 35
'Cześć' + name
'twój wiek: ' + age
- ERROR'twój wiek: ' + str(age)
- konwertujemy liczbę (int
) na wyraz (str
)age
- dalejint
age = str(age)
- konwertujemy zmiennąage
dostr
age
- teraz już w zmiennejage
jest strnumber_1 = 10
number_2 = 20
sum_of_numbers = number_1 + number_2
sum_of_numbers
average_of_numbers = sum_of_numbers/2
average_of_numbers
'average_of_numbers'
- proszę zwrócić uwagę na cudzysłów!average_of_number
- ERROR - proszę zwrócić uwagę na literówkę - brak litery 's' na końcu
dobra, co tu się dzieje? w 14. mówimy Pythonowi "pokaż co jest w zmiennej average_of_numbers
, dlatego zwraca nam liczbę
w 15. mówimy Pythonowi "zwróć mi wyraz 'average_of_numbers'", ponieważ average_of_numbers
jest objęte w cudzysłów!
a 16. Python rozumie jako "pokaż co się znajduje w zmiennej average_of_number
, tylko że zrobiliśmy literówkę, więc taka zmienna nie istenieje! dlatego błąd jaki wyświetli Python brzmi NameError: name 'average_of_number' is not defined
average_of_numbers = 100
average_of_numbers
average_of_numbers = 'jakis wyraz'
average_of_numbers
jak widać, na początku average_of_numbers
to był float
(liczba z przecinkiem), a w 17. powiedzieliśmy Pythonowi "włóż do zmiennej average_of_numbers
liczbę 100
(która jest typu int
), potem włożyliśmy do niej wyraz 'jakis wyraz'
name = 'James'
naMe = 'Arthur'
name
naMe
- czyli wielkość liter robi różnicę_age = 41
- można zacząć od znaku_
name_1 = 'James'
- może zawierać cyfry1name = 'James'
- ERROR - ale nie na pierwszy miejscuname-of-person = 'James'
- ERROR - nie może zawierać myślinika-
name_of_person = 'James'
- ale może zawierać_
print('Hello, world!')
tutaj używamy wbudowanej funkcji print()
, która wyświetla nam to co do niej włożymy w okienku "Run"; w tym wypadku włożyliśmy do niej string 'Hello, world!'
name = input()
print(f"Witaj {name}")
powinno wyświetlić się znowu okno "Run", teraz trzeba tam kliknąć myszką i wpisać swoje imię i wcisnąć Enter
tutaj używamy wbudowanej funkcji input()
, która służy do tego, że można w okienku "Run" wpisać jakąś wartość i potem tej wartości użyć w programie jak to zrobiliśmy wyżej; czyli Python zatrzyma się na tym fragmencie name = input()
dopóki nie wpiszemy czegoś w okienko "Run" i wciśniemy Enter, dopiero po tym wykona kolejne części kodu
name_length = len(name)
print(f'Liczba liter w Twoim imieniu to {name_length}')