Post on 18-Jan-2017
PyTraning2.0 #2:Python Początki
string, float, int
int(), float(), str(), print(), input()
Instalacja:Windows:
https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi
MacOShttps://www.python.org/ftp/python/3.4.3/python-3.4.3-macosx10.6.pkg
Linux:sudo apt-get install python3.4
Interaktywny interpreter
$ python
>>>
Ctrl + D lub Ctrl + C lub quit()
integer - inttyp danych do przechowywania liczby całkowite.
1, 90, 12731239
floattyp danych do przechowywania liczb
rzeczywistych, czyli zmiennopozycyjnych czyli posiadających część ułamkową.
np. 1.5 , 9.12312312 1.0
Z tymi typami danych możemy zrobić wszystkie podstawowe operacje matematyczne:+ - dodawania- - odejmowanie* - mnożenie/ - dzielenie
a także te trochę rzadziej spotykane** - potęgowanie// - dzielenie do części całych zaokrąglając zawsze w dół% - modulo czyli reszta z dzielenia
Matematyka w Pythonie
Sprawdźmy jak działa nasz kalkulator wykonując:
>>> 2 + 2>>> 3 - 2>>> 4 / 5>>> 2 / 2>>> 2 * 3>>> 2 ** 10>>> 4 // 5>>> 6 // 5>>> 4 % 5>>> 6 % 5>>> 2 + 2 * 2
Oczywiście w pythonie możemy też wykorzystywać nawiasy np:
>>> (2 + 2) * 2>>> ((2 + 2) *( (2 + 3) / 2)) ** 2
string typ danych do przechowywania ciągu znaków:
“ala ma kota”“kot ma pas”
“qwerwqerwerweraesdfzsdgdfs”“546456”
string może też być użyty pojedynczy apostrof np.:
‘Michał ma kaca’ to dokładnie to samo co "Michał ma kaca”
ale czasami potrzebujemy apostrof lub cudzysłów w środku np.
“I’m famous”‘Widziałam “władcę pierdzieli” ! i był super’
string Ale co zrobić jeśli potrzebujemy obu znaków ? Magiczny znak \
>>> '\'\”' '\'"'
co się stało ? python zoptymalizował nasz string ale został nasz \spróbujmy teraz:
>>> print('\'\”’)
print()wypisuje wartość danego obiektu do linii komend / basha. Czym to się różni opowiemy przy dojściu do klas i obiektów.
>>> print(“ala ma kota”)>>> print(“2 + 2 = ”, “dwa”)>>> print(“t”, “e”, “s”, “t”)
>>> print(1, ‘dwa’, “III”, 2*2)
string na nie też działają operatory matematyczne + i *np.
>>> “ala” + “ma” + “kota”>>> “ma”*2
niestety nie działają:
>>> “ma” + 2>>> “ma” * “ala”
string jest jeszcze trzeci sposób oznaczania stringów szczególnie jeśli są długie i mają wiele linijek “””bardzodlugistring“””
zmiennakonstrukcja programistyczna posiadająca cztery podstawowe atrybuty:
• symboliczną nazwę, • miejsce przechowywania • wartość• typ
pozwalająca w kodzie źródłowym odwoływać się przy pomocy nazwy do wartości. Nazwa służy do identyfikowania zmiennej w związku z tym często nazywana jest identyfikatorem. Miejsce przechowywania przeważnie znajduje się w pamięci komputera i określane jest przez adres i długość danych. Wartość to zawartość miejsca przechowywania. W programie wartość zmiennej może być odczytywana lub zastępowana nową wartością, tak więc wartość i typ zmiennej może zmieniać się w trakcie wykonywania programu, natomiast dwa pierwsze atrybuty (nazwa i miejsce przechowywania) nie zmieniają się w trakcie istnienia zmiennej.
zmiennaDefiniowanie:>>> zmienna = 1Odwoływanie się:>>> zmiennaZmiana zawartości>>> zmienna = 2sprawdzenia aktualne wartości:>>> zmienna Zmiana typu>>> zmienna = “test”sprawdzenia aktualne wartości:>>> zmienna
Jak widzicie zmiana wartości może być jednocześnie zmianą typu.
zmiennaNa zmiennej możemy domontowywać wszystkich dozwolonych operacji dla danego typu np:
int>>> a = 1>>> b = 2>>> a + b>>> a * b>>> a - b
string>>> a = ‘ala’>>> b = ‘kota’>>> c = 3>>> a + b>>> a + ‘ma’ + b>>> a + ‘nie ma’ + b>>> a * c
Uruchamianie skryptów .py1. Stwórzmy plik np. moj_pierwsz_skrypt.py2. i zapiszmy w nim treść:3. print(‘to jest moj pierwszy skrypt’)4. zapiszmy plik i w konsoli wpiszmy:5. python moj_pierwsz_skrypt.py
to jest całą filozofia odpalania skryptów, proste nie ?
komentarzejeśli chcemy dodać tekst który nie będzie interpretowany przez pythona wewnątrz naszego pliku dodajemy przed nim :
#np. # to jest magiczna funkcja do liczenia bmi
skrypt do liczenia BMI:
zasada ogólna:waga przez kwadrat wzrostu np. 80/1.85**2
Zadanie 1:
każdy z was stworzy plik bmi.pyi wpisze tam swoje wartości tak żeby po jego odpaleniu na ekran został wypisany wynik tej operacji
Zadanie 2:
teraz wynieśmy wzrost i wagę do zmiennej poprzedzającej obliczeniaważne żeby użyć zmiennej w skryptcie musimy ją najpierw zdefiniować !
Zadanie 2…:
czyli teraz każdy użytkownik musi edytować kod źródłowy żeby policzyć swoje BMI zróbmy coś z tym :)
input()jest to funkcja która odczytuje przekazana przez użytkownika wartość z linii komenddopiszmy do naszego pliku: print(‘podaj wage:’)input()
input()po odpaleniu pliku interpreter nas zapyta o wagęteraz jeszcze tylko musimy zachować wynik tej funkcji. w Pythonie robimy to w bardzo prosty i intuicyjny sposób
wynik = input()
input()jeśli ktoś by sprawdził w dokumentacji funkcję input() to mógł zauważyć że jeszcze można podać jej jeden argument w postaci stringa :) aby pozbyć się printa np.:
waga = input(‘podaj swoja wage prosze: ‘)
Zad …3:Skonstruuj skrypt, który po włączeniu zapyta użytkownika o jego wzrost i wagę a następnie zwróci wynik.
Zad …3:
ERROR ?
Zmiana typu zmiennejjak pewnie zauważyliście Python marudzi na was że nie może dzielić stringu przez stringa :) no a przez b nawet poza światem komputerowym jest nie policzalnewiec co trzeba zrobić ? zmienić typ zmiennej nie zmieniające jej wartościw Pythonie można to zrobić w bardzo prosty sposób:
Zmiana typu zmiennejzmiana na liczbę całkowitą - int() :>>> int(„1”)>>> int(2.2)>>> int(2.9)
zmiana na liczbę zmienno przecinkową - float() :>>> float(“2”)>>> float(“2.1231”)>>> float(3)
zmiana na łańcóch znaków – stringa - str() :str(213)str(2.21)
Zmiana typu zmiennejoczywiście funkcje można łączyć np.>>> str(float(2))>>>int(input(‘podaj cyfre od 1 do 100’))>>> float(input(‘podaj obwód pasa w metrach’))
Nadpisywanie zmiennej:waga = float(waga)
! ZADANIA !1. dokończ skrypt, który po włączeniu zapyta użytkownika o jego
wzrost i wagę a następnie zwróci wynik.2. Spróbuj zrobić skypt z zadania 1. Do liczenia BMI W jednej linijce
(<79 znaków)3. Napisz skrypt który będzie wyliczał przeciwprostokątną w
trójkącie ze wzoru pitagorasa a kwadrat plus b kwadra równa się c kwadrat
4. Spróbuj zrobić skypt z zadania 1. Do liczenia trzeciego boku w trójkącie w jednej linijce (<79 znaków)
5. Wymyśl inne przykłady do których mogłabyś zastosować swoją nową wiedzę i podziel się nimi !
! ZADANIA !ODP do ZAD2.print(„BMI:”, float(input(‘waga?’))/float(input(‘wzrost’))**2)Co się dzieje ?Interpreter działa od lewej do prawej i od góry do dołu – naturalnie.Więc najpierw chce wyprintować całość, ale nie może więc następniepróboje zrobić floata z inputa, którego nie może wiec wchodzi do środka i widzi input() więc wykonuje to i prosi o input. następnie z naszego inputu robi floata i idzie dalej chce podzielić przez kolejnego ale nie może więc sytuacja się powtarza, następnie sprawdza dalszą część kodu i widząc potęgowanie wykonuje je dzieli ‘wagę’ przez ‘wzrost’ . Zwróćmy uwagę że nie definiujemy zmiennych. Na koniec wyświetla wynik poprzedzony opisem „BMI:”