Podstawy programowania w Pythonie

Podobne dokumenty
Języki i metody programowania

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Podstawy programowania w Pythonie

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

4. Funkcje. Przykłady

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Podstawy programowania skrót z wykładów:

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Cw.12 JAVAScript w dokumentach HTML

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Podstawy Programowania Podstawowa składnia języka C++

Algorytmy i struktury danych

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Warsztaty dla nauczycieli

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Wstęp do Informatyki

Języki programowania zasady ich tworzenia

Programowanie robota mobilnego E-puck w języku Python

Liczby losowe i pętla while w języku Python

Pytania dla języka Python

dr inż. Jarosław Forenc

Wstęp do informatyki- wykład 2

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Kurs rozszerzony języka Python

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Ćwiczenie 3. Python 3: Python 3: Funkcje, moduły i operacje na plikach

Programowanie obiektowe

Podstawy programowania w Pythonie

JAVAScript w dokumentach HTML (1)

Wstęp do programowania

Języki i paradygmaty programowania

Podstawy programowania w Pythonie

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Podstawy Programowania C++

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

Struktura pliku projektu Console Application

Algorytmika i Programowanie VBA 1 - podstawy

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

ForPascal Interpreter języka Pascal

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Podstawy bioinformatyki 2017/18

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Wprowadzenie do programowania w języku C

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; a > b - a większe od b if (warunek) instrukcja1; a <= b - a mniejsze lub równe b

PROGRAMOWANIE W JĘZYKU PYTHON

Wstęp do programowania

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Kiedy i czy konieczne?

Języki i metody programowania

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Python. Wprowadzenie. Jolanta Bachan

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Powtórka algorytmów. Wprowadzenie do języka Java.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Wstęp do programowania

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Wstęp do Programowania potok funkcyjny

L E X. Generator analizatorów leksykalnych

Pliki wykład 2. Dorota Pylak

Instrukcja warunkowa i wyboru

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Podstawy programowania. Python wykład 6

Środowisko programisty

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Algorytmy zapisywane w pseudojęzyku programowania. Klasa 2 Lekcja 6

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

ZMIENNE. Podstawy PHP

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Wykresy i interfejsy użytkownika

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Definicje wyższego poziomu

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Bloki anonimowe w PL/SQL

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

do instrukcja while (wyrażenie);

Python wstęp do programowania dla użytkowników WCSS

Wprowadzenie do szablonów klas

LibreOffice Calc VBA

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.

Transkrypt:

Podstawy programowania w Pythonie Wykład 5 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 7 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 1 / 20

Wartości boolowskie Wartość logiczna to w logice podstawowa cecha zdania określajaca jego stosunek do faktów. W logice klasycznej każde zdanie może przyjać tylko jedna z dwóch wartości logicznych: prawda oznaczajaca zgodność zdania ze zbiorem faktów fałsz oznaczajaca niezgodność zdania ze zbiorem faktów W języku Python stała wbudowana False reprezentuje wartość logiczna fałsz, natomiast stała wbudowana True reprezentuje wartość logiczna prawda. Obiekty False i True sa jedynymi wartościami typu bool. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 2 / 20

Wartości boolowskie Typ bool jest podtypem typu int, a zatem wywołanie funkcji wbudowanej issubclass(bool, int) zwróci wartość True: >>> issubclass(bool, int) True >>> issubclass(int, int) True >>> issubclass(int, float) False W prawie wszystkich kontekstach wartości boolowskie False i True zachowuja się jak wartości 0 i 1, odpowiednio. Wyjatkiem jest to, że po przekonwertowaniu wartości boolowskiej na łańcuch, zwracany jest łańcuch 'False' lub 'True'. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 3 / 20

Wartości boolowskie Każdy obiekt może być w razie potrzeby potraktowany jako wartość boolowska. Następujace obiekty sa traktowane jako wartość False: None False zero z każdego typu numerycznego, przykładowo: 0, 0.0, 0j dowolna pusta sekwencja, przykładowo: '', (), [] dowolne puste odwzorowanie, przykładowo: {}. instancje klas zdefiniowanych przez użytkownika, o ile w klasie zdefiniowana jest metoda bool () lub metoda len () oraz metody te zwracaja dla tych instancji liczbę całkowita zero lub wartość boolowska False. Wszystkie pozostałe wartości traktowane sa jak wartość boolowska True. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 4 / 20

Wartości boolowskie Funkcja wbudowana bool zwraca dla każdego obiektu jego wartość logiczna określona zgodnie z powyższymi regułami. bool(none) False bool(6) True bool("") False bool("python. Programming is fun again!") True bool([]) False bool([10, 20, 30, 40]) True dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 5 / 20

Operatory boolowskie and, or, not Rezultaty działań z użyciem operatorów boolowskich opisane sa w poniższej tabeli, w kolejności rosnacych priorytetów: Operator Wynik Uwagi x or y jeżeli bool(x) == False, to y, (1) w przeciwnym razie x x and y jeżeli bool(x) == False, to x, (2) w przeciwnym razie y not x jeżeli bool(x) == False, to True, (3) w przeciwnym razie False Uwagi: 1 Argument y jest obliczany tylko wtedy, gdy bool(x) == False. 2 Argument y jest obliczany tylko wtedy, gdy bool(x) == True. 3 Operator not ma priorytet mniejszy niż nieboolowskie operatory. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 6 / 20

Operatory boolowskie and, or, not >>> 5 or 8 5 >>> 5 and 8 8 >>> not 5 and 8 False >>> 8 and 5 < 8 True >>> 5 < 8 and 8 8 >>> not 5!= 8 False >>> (not 5)!= 8 True dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 7 / 20

Prosta instrukcja warunkowa Składnia prostej instrukcji warunkowej jest następujaca: if wyrażenie: blokinstrukcji Wykonanie prostej instrukcji warunkowej zaczyna się od obliczenia wartości boolowskiej wyrażenia wyrażenie. Jeżeli wartościa ta jest True, to wykonywany jest blokinstrukcji. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 8 / 20

Schemat blokowy prostej instrukcji warunkowej False wyrażenie True blokinstrukcji dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 9 / 20

Przykład (Suma liczb dodatnich i suma liczb ujemnych) def main(): n = int(input("ilość liczb do wczytania: ")) suma_dod = suma_ujem = 0 for j in range(0, n): a = float(input("podaj kolejną liczbę: ")) if a > 0: suma_dod = suma_dod + a if a < 0: suma_ujem = suma_ujem + a print("suma liczb dodatnich =", suma_dod) print("suma liczb ujemnych =", suma_ujem) main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 10 / 20

Przykład (Ilość oraz suma liczb dodatnich i liczb ujemnych) def main(): n = int(input("ilość liczb do wczytania: ")) ile_dod = ile_ujem = 0; suma_dod = suma_ujem = 0.0 for j in range(0, n): a = float(input("podaj kolejną liczbę: ")) if a > 0: ile_dod = ile_dod + 1 suma_dod = suma_dod + a if a < 0: ile_ujem = ile_ujem + 1 suma_ujem = suma_ujem + a print("ilość dodatnich =", ile_dod, end = " ") print("suma dodatnich =", suma_dod) print("ilość ujemnych =", ile_dod, end = " ") print("suma ujemnych =", suma_ujem) main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 11 / 20

Instrukcja warunkowa Składnia instrukcji warunkowej jest następujaca: if wyrażenie: blokinstrukcji_t else: blokinstrukcji_f Wykonanie instrukcji warunkowej zaczyna się od obliczenia wartości boolowskiej wyrażenia wyrażenie. Jeżeli wartościa ta jest True, to wykonywany jest blokinstrukcji_t. W przeciwnym razie wykonywany jest blokinstrukcji_f. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 12 / 20

Schemat blokowy instrukcji warunkowej True False wyrażenie blokinstrukcji T blokinstrukcji F dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 13 / 20

Przykład (Suma liczb dodatnich i suma liczb ujemnych) def main(): y = int(input("podaj rok: ")) print("rok", y, "ma", number_of_days(y), "dni.") def number_of_days(y): if y % 4 == 0 and (y % 100!= 0 or y % 400 == 0): return 366 else: return 365 if name == " main ": main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 14 / 20

Pełna postać instrukcji warunkowej Składnia pełnej instrukcji warunkowej jest następujaca: if wyrażenie: blokinstrukcji_t elif wyrażenie_1 blokinstrukcji_1... elif wyrażenie_n blokinstrukcji_n else: blokinstrukcji_f dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 15 / 20

Schemat blokowy pełnej instrukcji warunkowej True wyrażenie False True wyrażenie 1 False blokinstrukcji 1 blokinstrukcji T blokinstrukcji F dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 16 / 20

Przykład (Pierwiastki rzeczywiste równania kwadratowego) import math def wypisz_pierwiastki(a, b, c): delta = b * b - 4 * a * c if delta > 0: print("równanie ma dwa pierwiastki") print("x1 =", (-b - math.sqrt(delta)) / (2 * a)) print("x2 =", (-b + math.sqrt(delta)) / (2 * a)) elif delta == 0: print("równanie ma podwójny pierwiastek") print("x1 = x2 = ", -b / (2 * a)) else: print("równanie nie ma pierwiastków") dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 17 / 20

Notacja BNF Gramatyka języka Python zapisana jest przy użyciu zmodyfikowanej notacji Backusa-Naura (w skrócie BNF od angielskiego Backus-Naur Form). W notacji BNF używa się definicji takich jak poniższe: nazwa ::= m_litera (m_litera "_")* m_litera ::= "a"..."z" Pierwsza linia mówi, że nazwa jest ciagiem małych liter i znaków podkreślenia zaczynajacym się od małej litery. Druga linia mówi, że m_litera jest jednym ze znaków od a do z. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 18 / 20

Notacja BNF Każda reguła zaczyna się do nazwy i symbolu ::=. Pionowa kreska jest operatorem alternatywy i ma najniższy priorytet. Gwiazdka (*) oznacza zero lub więcej powtórzeń poprzedniego elementu, natomiast plus (+) oznacza jedno lub więcej powtórzeń. Ujęcie frazy w nawiasy kwadratowe ([]) oznacza zero lub jedno wystapienie tej frazy. Operatory * i + maja najwyższy priorytet. Nawiasy sa używane do grupowania. Symbole terminalne ujmuje się w cudzysłowy. Białe znaki (spacje i tabulatory) służa do oddzielania tokenów. Reguły sa zwykle zapisywane w pojedynczych liniach. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 19 / 20

Składnia instrukcji warunkowej w zmodyfikowanej notacji BNF if_stmt ::= "if" expression ":" suite ( "elif" expression ":" suite )* ["else" ":" suite] Składnia bloku instrukcji w zmodyfikowanej notacji BNF compound_stmt ::= if_stmt while_stmt for_stmt try_stmt with_stmt funcdef classdef suite ::= stmt_list NEWLINE NEWLINE INDENT statement+ DEDENT statement ::= stmt_list NEWLINE compound_stmt stmt_list ::= simple_stmt (";" simple_stmt)* [";"] dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 07.11.2012 20 / 20